diff --git a/Demos/Host/ClassDriver/MassStorageHost/makefile b/Demos/Host/ClassDriver/MassStorageHost/makefile
index 88d5cf27d6f641d1fe364cbfcb0b8739fe41f3e4..af3f577793759bc7131c023596860a4c8d43dd7f 100644
--- a/Demos/Host/ClassDriver/MassStorageHost/makefile
+++ b/Demos/Host/ClassDriver/MassStorageHost/makefile
@@ -116,7 +116,7 @@ LUFA_PATH = ../../../..
 
 
 # LUFA library compile-time options
-LUFA_OPTS  = -D USB_HOST_ONLY
+LUFA_OPTS  = -D USB_HOST_ONLY -Wextra
 LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
 LUFA_OPTS += -D USB_STREAM_TIMEOUT_MS=5000
 
diff --git a/LUFA/Drivers/Peripheral/SerialStream.c b/LUFA/Drivers/Peripheral/SerialStream.c
index f8839c9b49bee129d3969f5aff35727c94b57003..0e7b24c5380d3efcd9b0f6c31aadd7b7ff1725de 100644
--- a/LUFA/Drivers/Peripheral/SerialStream.c
+++ b/LUFA/Drivers/Peripheral/SerialStream.c
@@ -35,12 +35,15 @@ FILE USARTStream = FDEV_SETUP_STREAM(SerialStream_TxByte, SerialStream_RxByte, _
 
 static int SerialStream_TxByte(char DataByte, FILE *Stream)
 {
+	(void)Stream;
+	
 	Serial_TxByte(DataByte);
-
 	return 0;
 }
 
 static int SerialStream_RxByte(FILE *Stream)
 {
+	(void)Stream;
+
 	return Serial_RxByte();
 }
diff --git a/LUFA/Drivers/USB/Class/Device/Audio.c b/LUFA/Drivers/USB/Class/Device/Audio.c
index abc754606725fabf9cdeaf69af9dc70f2b4a228a..8f59980ee2108f067333b769fd889920f793643d 100644
--- a/LUFA/Drivers/USB/Class/Device/Audio.c
+++ b/LUFA/Drivers/USB/Class/Device/Audio.c
@@ -86,7 +86,7 @@ bool Audio_Device_ConfigureEndpoints(USB_ClassInfo_Audio_Device_t* AudioInterfac
 
 void Audio_Device_USBTask(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
 {
-
+	(void)AudioInterfaceInfo;
 }
 
 bool Audio_Device_IsSampleReceived(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
diff --git a/LUFA/Drivers/USB/Class/Device/Audio.h b/LUFA/Drivers/USB/Class/Device/Audio.h
index 25ac6efd83f1f77b6f51fe26e995fe0c8205fa85..cf79e15eb0457c14893827c24afc79c1733dbe8d 100644
--- a/LUFA/Drivers/USB/Class/Device/Audio.h
+++ b/LUFA/Drivers/USB/Class/Device/Audio.h
@@ -152,6 +152,8 @@
 			static inline int8_t Audio_Device_ReadSample8(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo)
 			{
 				int8_t Sample;
+				
+				(void)AudioInterfaceInfo;
 
 				Sample = Endpoint_Read_Byte();
 
@@ -175,6 +177,8 @@
 			{
 				int16_t Sample;
 
+				(void)AudioInterfaceInfo;
+
 				Sample = (int16_t)Endpoint_Read_Word_LE();
 					  
 				if (!(Endpoint_BytesInEndpoint()))
@@ -196,6 +200,8 @@
 			{
 				int32_t Sample;
 
+				(void)AudioInterfaceInfo;
+
 				Sample = (((uint32_t)Endpoint_Read_Byte() << 16) | Endpoint_Read_Word_LE());
 					  
 				if (!(Endpoint_BytesInEndpoint()))
diff --git a/LUFA/Drivers/USB/Class/Device/MIDI.c b/LUFA/Drivers/USB/Class/Device/MIDI.c
index b49bb7341d7b82f5fe3975914977f8e699052206..60119d2563ae2e573f25eb3484f466b820f6c1e0 100644
--- a/LUFA/Drivers/USB/Class/Device/MIDI.c
+++ b/LUFA/Drivers/USB/Class/Device/MIDI.c
@@ -67,7 +67,7 @@ bool MIDI_Device_ConfigureEndpoints(USB_ClassInfo_MIDI_Device_t* const MIDIInter
 
 void MIDI_Device_USBTask(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo)
 {
-
+	(void)MIDIInterfaceInfo;
 }
 
 uint8_t MIDI_Device_SendEventPacket(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo, MIDI_EventPacket_t* const Event)
diff --git a/LUFA/Drivers/USB/Class/Device/RNDIS.c b/LUFA/Drivers/USB/Class/Device/RNDIS.c
index 2b756417665a274b41eb9513ed194345c441d530..44a895d9633753cb6281206fec515d09bcb6332f 100644
--- a/LUFA/Drivers/USB/Class/Device/RNDIS.c
+++ b/LUFA/Drivers/USB/Class/Device/RNDIS.c
@@ -335,6 +335,9 @@ static bool RNDIS_Device_ProcessNDISQuery(USB_ClassInfo_RNDIS_Device_t* const RN
                                           const uint32_t OId, void* const QueryData, const uint16_t QuerySize,
                                           void* ResponseData, uint16_t* const ResponseSize)
 {
+	(void)QueryData;
+	(void)QuerySize;
+
 	switch (OId)
 	{
 		case OID_GEN_SUPPORTED_LIST:
@@ -443,9 +446,11 @@ static bool RNDIS_Device_ProcessNDISQuery(USB_ClassInfo_RNDIS_Device_t* const RN
 	}
 }
 
-static bool RNDIS_Device_ProcessNDISSet(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo, const uint32_t OId, void* SetData,
-                                        const uint16_t SetSize)
+static bool RNDIS_Device_ProcessNDISSet(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo, const uint32_t OId,
+                                        void* SetData, const uint16_t SetSize)
 {
+	(void)SetSize;
+
 	switch (OId)
 	{
 		case OID_GEN_CURRENT_PACKET_FILTER:
diff --git a/LUFA/Drivers/USB/Class/Host/HID.c b/LUFA/Drivers/USB/Class/Host/HID.c
index 9c02b697e76032b2e39ae85b2bb393f21dce0506..75b37b0c6f4b85b1370e0e479b9afd214b1b56ae 100644
--- a/LUFA/Drivers/USB/Class/Host/HID.c
+++ b/LUFA/Drivers/USB/Class/Host/HID.c
@@ -152,7 +152,7 @@ static uint8_t DComp_HID_Host_NextHIDInterfaceEndpoint(void* const CurrentDescri
 
 void HID_Host_USBTask(USB_ClassInfo_HID_Host_t* const HIDInterfaceInfo)
 {
-
+	(void)HIDInterfaceInfo;
 }
 
 #if !defined(HID_HOST_BOOT_PROTOCOL_ONLY)
diff --git a/LUFA/Drivers/USB/Class/Host/MIDI.c b/LUFA/Drivers/USB/Class/Host/MIDI.c
index 104c7385851ec2b6a9384e9ae128de3275b39851..f5bf4ac5d48496431f8768ba3ae201d2004fa6cf 100644
--- a/LUFA/Drivers/USB/Class/Host/MIDI.c
+++ b/LUFA/Drivers/USB/Class/Host/MIDI.c
@@ -124,7 +124,7 @@ static uint8_t DComp_MIDI_Host_NextMIDIStreamingDataEndpoint(void* const Current
 
 void MIDI_Host_USBTask(USB_ClassInfo_MIDI_Host_t* const MIDIInterfaceInfo)
 {
-
+	(void)MIDIInterfaceInfo;
 }
 
 uint8_t MIDI_Host_SendEventPacket(USB_ClassInfo_MIDI_Host_t* const MIDIInterfaceInfo, MIDI_EventPacket_t* const Event)
@@ -134,7 +134,7 @@ uint8_t MIDI_Host_SendEventPacket(USB_ClassInfo_MIDI_Host_t* const MIDIInterface
 	
 	Pipe_SelectPipe(MIDIInterfaceInfo->Config.DataOUTPipeNumber);
 
-	if (Pipe_IsReadWriteAllowed());
+	if (Pipe_IsReadWriteAllowed())
 	{
 		uint8_t ErrorCode;
 
diff --git a/LUFA/Drivers/USB/Class/Host/MassStorage.c b/LUFA/Drivers/USB/Class/Host/MassStorage.c
index ca071752d4a2337e7b149c4f3a005dd98dbad42d..59057ed76dfa5f9589ff95f9c46889d48882b2b7 100644
--- a/LUFA/Drivers/USB/Class/Host/MassStorage.c
+++ b/LUFA/Drivers/USB/Class/Host/MassStorage.c
@@ -129,7 +129,7 @@ static uint8_t DComp_NextMSInterfaceEndpoint(void* const CurrentDescriptor)
 
 void MS_Host_USBTask(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo)
 {
-	
+	(void)MSInterfaceInfo;
 }
 
 static uint8_t MS_Host_SendCommand(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo, MS_CommandBlockWrapper_t* const SCSICommandBlock,
diff --git a/LUFA/Drivers/USB/Class/Host/Printer.c b/LUFA/Drivers/USB/Class/Host/Printer.c
index cb9bd6ec913d83353f1e2aaa96ebdf63c8303091..788c0b53c41de408041efad9a2f495f1bfb224f3 100644
--- a/LUFA/Drivers/USB/Class/Host/Printer.c
+++ b/LUFA/Drivers/USB/Class/Host/Printer.c
@@ -124,7 +124,7 @@ static uint8_t DComp_NextPRNTInterfaceEndpoint(void* CurrentDescriptor)
 
 void PRNT_Host_USBTask(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo)
 {
-	
+	(void)PRNTInterfaceInfo;
 }
 
 uint8_t PRNT_Host_SetBidirectionalMode(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo)
diff --git a/LUFA/Drivers/USB/Class/Host/RNDIS.c b/LUFA/Drivers/USB/Class/Host/RNDIS.c
index b22674855a04486f6bf06d972720ffc05716e0ea..1e85bd07cb8713ca5a5c251e43eccb4a4832d009 100644
--- a/LUFA/Drivers/USB/Class/Host/RNDIS.c
+++ b/LUFA/Drivers/USB/Class/Host/RNDIS.c
@@ -207,7 +207,7 @@ static uint8_t DComp_RNDIS_Host_NextRNDISInterfaceEndpoint(void* const CurrentDe
 
 void RNDIS_Host_USBTask(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo)
 {
-
+	(void)RNDISInterfaceInfo;
 }
 
 static uint8_t RNDIS_SendEncapsulatedCommand(USB_ClassInfo_RNDIS_Host_t* const RNDISInterfaceInfo,
diff --git a/LUFA/Drivers/USB/Class/Host/StillImage.c b/LUFA/Drivers/USB/Class/Host/StillImage.c
index 5a958cf443bbf3aee1868b91fc0f93db8d0a0873..67d5cdee28b4e8e957a7098d566aaf05565f216a 100644
--- a/LUFA/Drivers/USB/Class/Host/StillImage.c
+++ b/LUFA/Drivers/USB/Class/Host/StillImage.c
@@ -144,7 +144,7 @@ uint8_t DComp_SI_Host_NextSIInterfaceEndpoint(void* const CurrentDescriptor)
 
 void SImage_Host_USBTask(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo)
 {
-
+	(void)SIInterfaceInfo;
 }
 
 static uint8_t SImage_Host_SendBlockHeader(USB_ClassInfo_SI_Host_t* const SIInterfaceInfo, SI_PIMA_Container_t* const PIMAHeader)
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index 99cb773af9b11d48ded69a8180d2f0991031a045..791a170603e699b30a1b226226385550145a5111 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -59,6 +59,8 @@
   *  - Fixed MassStorageHost Class driver demo not having USB_STREAM_TIMEOUT_MS compile time option set properly to prevent slow 
   *    devices from timing out the data pipes
   *  - Fixed the definition of the Endpoint_BytesInEndpoint() macro for the U4 series AVR parts
+  *  - Fixed MIDI host Class driver MIDI_Host_SendEventPacket() routine not properly checking for Pipe ready before writing
+  *  - Fixed use of deprecated struct initializers, removed library unused parameter warnings when compiled with -Wextra enabled
   *
   *  \section Sec_ChangeLog091122 Version 091122
   *