diff --git a/Bootloaders/DFU/BootloaderDFU.h b/Bootloaders/DFU/BootloaderDFU.h
index c711e437837bf4c405275320aded04f4fe9c5e6d..aac341f8cc84c09bb9287b26cf77e06ae28309f3 100644
--- a/Bootloaders/DFU/BootloaderDFU.h
+++ b/Bootloaders/DFU/BootloaderDFU.h
@@ -79,7 +79,7 @@
 		 *  \param[in] dataarr  Command byte array to check against
 		 *  \param[in] cb1      First command byte to check
 		 */
-		#define IS_ONEBYTE_COMMAND(dataarr, cb1)       (dataarr[0] == cb1)
+		#define IS_ONEBYTE_COMMAND(dataarr, cb1)       (dataarr[0] == (cb1))
 
 		/** Convenience macro, used to determine if the issued command is the given two-byte long command.
 		 *
@@ -87,7 +87,7 @@
 		 *  \param[in] cb1      First command byte to check
 		 *  \param[in] cb2      Second command byte to check
 		 */
-		#define IS_TWOBYTE_COMMAND(dataarr, cb1, cb2) ((dataarr[0] == cb1) && (dataarr[1] == cb2))
+		#define IS_TWOBYTE_COMMAND(dataarr, cb1, cb2) ((dataarr[0] == (cb1)) && (dataarr[1] == (cb2)))
 	
 		/** Length of the DFU file suffix block, appended to the end of each complete memory write command.
 		 *  The DFU file suffix is currently unused (but is designed to give extra file information, such as
diff --git a/Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.h b/Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.h
index 2deac0963afb9e6a2fcf22252fabaaafbfb8ac3b..dcd5deec82127d780f33aa8d842d0d7aaff2162e 100644
--- a/Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.h
+++ b/Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.h
@@ -42,10 +42,10 @@
 		#include "MassStorage.h"
 		#include "Descriptors.h"
 
-		#include <LUFA/Common/Common.h>                 // Function Attribute, Atomic, Debug and ISR Macros
-		#include <LUFA/Drivers/USB/USB.h>               // USB Functionality
-		#include <LUFA/Drivers/USB/Class/MassStorage.h> // Mass Storage Class Driver
-		#include <LUFA/Drivers/Board/Dataflash.h>       // Dataflash chip driver
+		#include <LUFA/Common/Common.h>
+		#include <LUFA/Drivers/USB/USB.h>
+		#include <LUFA/Drivers/USB/Class/MassStorage.h>
+		#include <LUFA/Drivers/Board/Dataflash.h>
 
 	/* Preprocessor Checks: */
 		#if (DATAFLASH_PAGE_SIZE % 16)
diff --git a/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.h b/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.h
index a1cbf675ba28eaa46cc87633a92722b9df58764f..9d71e14c66754058378dc5da49aa64ebebcf634b 100644
--- a/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.h
+++ b/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.h
@@ -56,9 +56,9 @@
 		 *  \param[in] acode  New SCSI additional sense key to set the additional sense code to
 		 *  \param[in] aqual  New SCSI additional sense key qualifier to set the additional sense qualifier code to
 		 */
-		#define SCSI_SET_SENSE(key, acode, aqual)  MACROS{ SenseData.SenseKey = key;              \
-		                                                   SenseData.AdditionalSenseCode = acode; \
-		                                                   SenseData.AdditionalSenseQualifier = aqual; }MACROE
+		#define SCSI_SET_SENSE(key, acode, aqual)  MACROS{ SenseData.SenseKey = (key);                   \
+		                                                   SenseData.AdditionalSenseCode = (acode);      \
+		                                                   SenseData.AdditionalSenseQualifier = (aqual); }MACROE
 
 		/** Macro for the SCSI_Command_ReadWrite_10() function, to indicate that data is to be read from the storage medium. */
 		#define DATA_READ           true
diff --git a/Demos/Device/ClassDriver/MassStorage/MassStorage.h b/Demos/Device/ClassDriver/MassStorage/MassStorage.h
index fca288d7caaa242fab8fc2bb033e7536738ebd23..5fb37f14071647c6e73fc4e78a47cda23b7d054f 100644
--- a/Demos/Device/ClassDriver/MassStorage/MassStorage.h
+++ b/Demos/Device/ClassDriver/MassStorage/MassStorage.h
@@ -65,7 +65,7 @@
 		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
-		#define LEDMASK_USB_BUSY         (LEDS_LED2)
+		#define LEDMASK_USB_BUSY          LEDS_LED2
 		
 		/** Total number of logical drives within the device - must be non-zero. */
 		#define TOTAL_LUNS                1
diff --git a/Demos/Device/ClassDriver/MassStorageKeyboard/Lib/DataflashManager.h b/Demos/Device/ClassDriver/MassStorageKeyboard/Lib/DataflashManager.h
index 5e9debcb0bdaccd4cab689694013fe926f314e3e..b626d48962468765755045b9a63e7f8d18427b07 100644
--- a/Demos/Device/ClassDriver/MassStorageKeyboard/Lib/DataflashManager.h
+++ b/Demos/Device/ClassDriver/MassStorageKeyboard/Lib/DataflashManager.h
@@ -42,9 +42,9 @@
 		#include "MassStorageKeyboard.h"
 		#include "Descriptors.h"
 
-		#include <LUFA/Common/Common.h>              // Function Attribute, Atomic, Debug and ISR Macros
-		#include <LUFA/Drivers/USB/USB.h>            // USB Functionality
-		#include <LUFA/Drivers/Board/Dataflash.h>    // Dataflash chip driver
+		#include <LUFA/Common/Common.h>
+		#include <LUFA/Drivers/USB/USB.h>
+		#include <LUFA/Drivers/Board/Dataflash.h>
 
 	/* Preprocessor Checks: */
 		#if (DATAFLASH_PAGE_SIZE % 16)
diff --git a/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.h b/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.h
index c82fb783635987fcaf4d3294f42eb77c31fc9ab5..df01dac8a874f9f5a30a81bbd1b58a20046ad796 100644
--- a/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.h
+++ b/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.h
@@ -72,7 +72,7 @@
 		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
-		#define LEDMASK_USB_BUSY         (LEDS_LED2)
+		#define LEDMASK_USB_BUSY         LEDS_LED2
 		
 		/** Total number of logical drives within the device - must be non-zero. */
 		#define TOTAL_LUNS               1
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.h b/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.h
index b91a54d21a4e34de3110182d432165c2630bbce0..a132a664bc5c3957761e6083a37b2ac76905fcd2 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.h
+++ b/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.h
@@ -71,7 +71,7 @@
 		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
-		#define LEDMASK_USB_BUSY         (LEDS_LED2)
+		#define LEDMASK_USB_BUSY          LEDS_LED2
 		
 	/* Function Prototypes: */
 		void SetupHardware(void);
diff --git a/Demos/Device/Incomplete/Sideshow/Descriptors.c b/Demos/Device/Incomplete/Sideshow/Descriptors.c
index 647e0b4f965e82e7e4d8a13948bb9c41799bca6b..ed5853f90bc89ed9231efbbfa0f40289f8ba48d4 100644
--- a/Demos/Device/Incomplete/Sideshow/Descriptors.c
+++ b/Demos/Device/Incomplete/Sideshow/Descriptors.c
@@ -192,11 +192,9 @@ uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex,
 					Size    = pgm_read_byte(&SerialNumberString.Header.Size);
 					break;
 				case 0xEE:
-					/* Great, another Microsoft-proprietary extention. String address 0xEE is used
-					   by Windows for "OS Descriptors", which in this case allows us to indicate that
-					   our device is Sideshow compatible. Most people would be happy using the normal
-					   0xFF 0x?? 0x?? Class/Subclass/Protocol values like the USBIF intended. */
-					   
+					/* A Microsoft-proprietary extention. String address 0xEE is used by Windows for
+					   "OS Descriptors", which in this case allows us to indicate that our device is
+					   Sideshow compatible regardless of VID/PID values. */
 					Address = (void*)&OSDescriptorString;
 					Size    = pgm_read_byte(&OSDescriptorString.Header.Size);
 					break;
diff --git a/Demos/Device/Incomplete/Sideshow/Sideshow.h b/Demos/Device/Incomplete/Sideshow/Sideshow.h
index f2890ef21c32b3c52173509452b77f5ffc0ea10c..6369036e67104208ca5c198d54653b93482d91cb 100644
--- a/Demos/Device/Incomplete/Sideshow/Sideshow.h
+++ b/Demos/Device/Incomplete/Sideshow/Sideshow.h
@@ -45,21 +45,25 @@
 		#include <LUFA/Drivers/Peripheral/SerialStream.h>
 
 	/* Macros: */
+		/** Device control request for used in the Microsoft OS Descriptor for retrieving the OS Feature
+		 *  descriptors of the device
+		 */
 		#define REQ_GetOSFeatureDescriptor        0x01
 		
+		/** Descriptor index for a Microsoft Proprietary Extended Device Compatibility descriptor */
 		#define EXTENDED_COMPAT_ID_DESCRIPTOR     0x0004
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
-		#define LEDMASK_USB_NOTREADY      LEDS_LED1
+		#define LEDMASK_USB_NOTREADY              LEDS_LED1
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is enumerating. */
-		#define LEDMASK_USB_ENUMERATING  (LEDS_LED2 | LEDS_LED3)
+		#define LEDMASK_USB_ENUMERATING          (LEDS_LED2 | LEDS_LED3)
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is ready. */
-		#define LEDMASK_USB_READY        (LEDS_LED2 | LEDS_LED4)
+		#define LEDMASK_USB_READY                (LEDS_LED2 | LEDS_LED4)
 
 		/** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */
-		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
+		#define LEDMASK_USB_ERROR                (LEDS_LED1 | LEDS_LED3)
 		
 	/* Function Prototypes: */
 		void SetupHardware(void);
diff --git a/Demos/Device/LowLevel/AudioInput/Descriptors.h b/Demos/Device/LowLevel/AudioInput/Descriptors.h
index 9e7b2d6d13eb44c2654b6039354cd0ee6e8d9c38..cda03c0c74f3ebbde6d315c567cf282971f454c9 100644
--- a/Demos/Device/LowLevel/AudioInput/Descriptors.h
+++ b/Demos/Device/LowLevel/AudioInput/Descriptors.h
@@ -125,7 +125,7 @@
 		 *
 		 *  \param[in] freq  Required audio sampling frequency in HZ
 		 */
-		#define SAMPLE_FREQ(freq)  {LowWord: ((uint32_t)freq & 0x00FFFF), HighByte: (((uint32_t)freq >> 16) & 0x0000FF)}
+		#define SAMPLE_FREQ(freq)  {LowWord: ((uint32_t)(freq) & 0x00FFFF), HighByte: (((uint32_t)(freq) >> 16) & 0x0000FF)}
 		
 		/** Mask for the attributes parameter of an Audio class specific Endpoint descriptor, indicating that the endpoint
 		 *  accepts only filled endpoint packets of audio samples.
@@ -138,7 +138,7 @@
 		#define EP_ACCEPTS_SMALL_PACKETS     (0 << 7)
 
 		/** Endpoint number of the Audio isochronous streaming data endpoint. */
-		#define AUDIO_STREAM_EPNUM       1
+		#define AUDIO_STREAM_EPNUM           1
 		
 		/** Endpoint size in bytes of the Audio isochronous streaming data endpoint. The Windows audio stack requires
 		 *  at least 192 bytes for correct output, thus the smaller 128 byte maximum endpoint size on some of the smaller
diff --git a/Demos/Device/LowLevel/AudioOutput/Descriptors.h b/Demos/Device/LowLevel/AudioOutput/Descriptors.h
index 0f2bb65bdea9fbcff6f2eb689b46233e35764a68..958e69eaad43ae1ec842dbff1c38eb6e32b22882 100644
--- a/Demos/Device/LowLevel/AudioOutput/Descriptors.h
+++ b/Demos/Device/LowLevel/AudioOutput/Descriptors.h
@@ -125,7 +125,7 @@
 		 *
 		 *  \param[in] freq  Required audio sampling frequency in HZ
 		 */
-		#define SAMPLE_FREQ(freq)  {LowWord: ((uint32_t)freq & 0x00FFFF), HighByte: (((uint32_t)freq >> 16) & 0x0000FF)}
+		#define SAMPLE_FREQ(freq)  {LowWord: ((uint32_t)(freq) & 0x00FFFF), HighByte: (((uint32_t)(freq) >> 16) & 0x0000FF)}
 		
 		/** Mask for the attributes parameter of an Audio class specific Endpoint descriptor, indicating that the endpoint
 		 *  accepts only filled endpoint packets of audio samples.
diff --git a/Demos/Device/LowLevel/DualVirtualSerial/DualVirtualSerial.h b/Demos/Device/LowLevel/DualVirtualSerial/DualVirtualSerial.h
index 55ab6b21471475f66955fd0dda4b1927ec11e43a..d83dd79b6af5933f51e6ea1cc1fcaab86226a68d 100644
--- a/Demos/Device/LowLevel/DualVirtualSerial/DualVirtualSerial.h
+++ b/Demos/Device/LowLevel/DualVirtualSerial/DualVirtualSerial.h
@@ -51,13 +51,13 @@
 
 	/* Macros: */
 		/** CDC Class specific request to get the current virtual serial port configuration settings. */
-		#define REQ_GetLineEncoding          0x21
+		#define REQ_GetLineEncoding       0x21
 
 		/** CDC Class specific request to set the current virtual serial port configuration settings. */
-		#define REQ_SetLineEncoding          0x20
+		#define REQ_SetLineEncoding       0x20
 
 		/** CDC Class specific request to set the current virtual serial port handshake line states. */
-		#define REQ_SetControlLineState      0x22
+		#define REQ_SetControlLineState   0x22
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
 		#define LEDMASK_USB_NOTREADY      LEDS_LED1
diff --git a/Demos/Device/LowLevel/GenericHID/GenericHID.h b/Demos/Device/LowLevel/GenericHID/GenericHID.h
index da3d4ac60131ef58d9550b7cc8f38ee7e1000d47..80379ee4442b846c504bc0e745d7f7bd9dca6455 100644
--- a/Demos/Device/LowLevel/GenericHID/GenericHID.h
+++ b/Demos/Device/LowLevel/GenericHID/GenericHID.h
@@ -51,10 +51,10 @@
 			
 	/* Macros: */
 		/** HID Class specific request to get the next HID report from the device. */
-		#define REQ_GetReport      0x01
+		#define REQ_GetReport             0x01
 
 		/** HID Class specific request to send the next HID report to the device. */
-		#define REQ_SetReport      0x09
+		#define REQ_SetReport             0x09
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
 		#define LEDMASK_USB_NOTREADY      LEDS_LED1
diff --git a/Demos/Device/LowLevel/Joystick/Joystick.h b/Demos/Device/LowLevel/Joystick/Joystick.h
index db280ee5c82f03b9c880aa597b3e0115cba760e0..bf339fe16020488b62f9b32fe6a1acae1d94d32d 100644
--- a/Demos/Device/LowLevel/Joystick/Joystick.h
+++ b/Demos/Device/LowLevel/Joystick/Joystick.h
@@ -52,7 +52,7 @@
 
 	/* Macros: */
 		/** HID Class specific request to get the next HID report from the device. */
-		#define REQ_GetReport   0x01
+		#define REQ_GetReport             0x01
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
 		#define LEDMASK_USB_NOTREADY      LEDS_LED1
diff --git a/Demos/Device/LowLevel/Keyboard/Keyboard.h b/Demos/Device/LowLevel/Keyboard/Keyboard.h
index 576e0803082da439c8aebe9475325c52fbf43e45..889b6f91912198e91bcd87ed72ee5fe54988bf02 100644
--- a/Demos/Device/LowLevel/Keyboard/Keyboard.h
+++ b/Demos/Device/LowLevel/Keyboard/Keyboard.h
@@ -54,25 +54,25 @@
 
 	/* Macros: */
 		/** Idle period indicating that reports should be sent only when the inputs have changed */
-		#define HID_IDLE_CHANGESONLY   0
+		#define HID_IDLE_CHANGESONLY      0
 
 		/** HID Class specific request to get the next HID report from the device. */
-		#define REQ_GetReport          0x01
+		#define REQ_GetReport             0x01
 
 		/** HID Class specific request to get the idle timeout period of the device. */
-		#define REQ_GetIdle            0x02
+		#define REQ_GetIdle               0x02
 
 		/** HID Class specific request to send the next HID report to the device. */
-		#define REQ_SetReport          0x09
+		#define REQ_SetReport             0x09
 
 		/** HID Class specific request to set the idle timeout period of the device. */
-		#define REQ_SetIdle            0x0A
+		#define REQ_SetIdle               0x0A
 
 		/** HID Class specific request to get the current HID protocol in use, either report or boot. */
-		#define REQ_GetProtocol        0x03
+		#define REQ_GetProtocol           0x03
 
 		/** HID Class specific request to set the current HID protocol in use, either report or boot. */
-		#define REQ_SetProtocol        0x0B
+		#define REQ_SetProtocol           0x0B
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
 		#define LEDMASK_USB_NOTREADY      LEDS_LED1
diff --git a/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.h b/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.h
index 57e152b9a1ed0d7807a764dd111db4a8023bd395..c939bdfa0bf10339019adc8ea46dd8fa52898014 100644
--- a/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.h
+++ b/Demos/Device/LowLevel/KeyboardMouse/KeyboardMouse.h
@@ -49,16 +49,16 @@
 		
 	/* Macros: */
 		/** HID Class specific request to get the next HID report from the device. */
-		#define REQ_GetReport      0x01
+		#define REQ_GetReport             0x01
 
 		/** HID Class specific request to send the next HID report to the device. */
-		#define REQ_SetReport      0x09
+		#define REQ_SetReport             0x09
 
 		/** HID Class specific request to get the current HID protocol in use, either report or boot. */
-		#define REQ_GetProtocol    0x03
+		#define REQ_GetProtocol           0x03
 
 		/** HID Class specific request to set the current HID protocol in use, either report or boot. */
-		#define REQ_SetProtocol    0x0B
+		#define REQ_SetProtocol           0x0B
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
 		#define LEDMASK_USB_NOTREADY      LEDS_LED1
diff --git a/Demos/Device/LowLevel/MIDI/MIDI.h b/Demos/Device/LowLevel/MIDI/MIDI.h
index 3e7a06d6d0e1775f3bb2fbb855ad8ef84791f4e8..992d54cea80442841872aa455b2299aef54e06ec 100644
--- a/Demos/Device/LowLevel/MIDI/MIDI.h
+++ b/Demos/Device/LowLevel/MIDI/MIDI.h
@@ -65,7 +65,7 @@
 		 *
 		 *  \param[in] channel  MIDI channel number to address
 		 */
-		#define MIDI_CHANNEL(channel)     (channel - 1)
+		#define MIDI_CHANNEL(channel)    ((channel) - 1)
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
 		#define LEDMASK_USB_NOTREADY      LEDS_LED1
diff --git a/Demos/Device/LowLevel/MassStorage/Lib/DataflashManager.h b/Demos/Device/LowLevel/MassStorage/Lib/DataflashManager.h
index cfba56d3cb904cead1ff5e3f8712c8f7ad1620a2..e906a4c511c79052548dca208f4c9bd4a54d7605 100644
--- a/Demos/Device/LowLevel/MassStorage/Lib/DataflashManager.h
+++ b/Demos/Device/LowLevel/MassStorage/Lib/DataflashManager.h
@@ -42,9 +42,9 @@
 		#include "MassStorage.h"
 		#include "Descriptors.h"
 
-		#include <LUFA/Common/Common.h>              // Function Attribute, Atomic, Debug and ISR Macros
-		#include <LUFA/Drivers/USB/USB.h>            // USB Functionality
-		#include <LUFA/Drivers/Board/Dataflash.h>    // Dataflash chip driver
+		#include <LUFA/Common/Common.h>
+		#include <LUFA/Drivers/USB/USB.h>
+		#include <LUFA/Drivers/Board/Dataflash.h>
 
 	/* Preprocessor Checks: */
 		#if (DATAFLASH_PAGE_SIZE % 16)
diff --git a/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h b/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h
index f642debbab9a5969e0c01bc9b8a5346c5813087a..93a4942156f195f7c0a88ed8ce29a1f4374f62e2 100644
--- a/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h
+++ b/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h
@@ -40,9 +40,9 @@
 		#include <avr/io.h>
 		#include <avr/pgmspace.h>
 
-		#include <LUFA/Common/Common.h>              // Function Attribute, Atomic, Debug and ISR Macros
-		#include <LUFA/Drivers/USB/USB.h>            // USB Functionality
-		#include <LUFA/Drivers/Board/LEDs.h>         // LEDs driver
+		#include <LUFA/Common/Common.h>
+		#include <LUFA/Drivers/USB/USB.h>
+		#include <LUFA/Drivers/Board/LEDs.h>
 
 		#include "MassStorage.h"
 		#include "Descriptors.h"
@@ -58,21 +58,21 @@
 		 *  \param[in] acode  New SCSI additional sense key to set the additional sense code to
 		 *  \param[in] aqual  New SCSI additional sense key qualifier to set the additional sense qualifier code to
 		 */
-		#define SCSI_SET_SENSE(key, acode, aqual)  MACROS{ SenseData.SenseKey = key;              \
-		                                                   SenseData.AdditionalSenseCode = acode; \
-		                                                   SenseData.AdditionalSenseQualifier = aqual; }MACROE
+		#define SCSI_SET_SENSE(key, acode, aqual)  MACROS{ SenseData.SenseKey = (key);              \
+		                                                   SenseData.AdditionalSenseCode = (acode); \
+		                                                   SenseData.AdditionalSenseQualifier = (aqual); }MACROE
 
 		/** Macro for the SCSI_Command_ReadWrite_10() function, to indicate that data is to be read from the storage medium. */
-		#define DATA_READ         true
+		#define DATA_READ           true
 
 		/** Macro for the SCSI_Command_ReadWrite_10() function, to indicate that data is to be written to the storage medium. */
-		#define DATA_WRITE        false
+		#define DATA_WRITE          false
 
 		/** Value for the DeviceType entry in the SCSI_Inquiry_Response_t enum, indicating a Block Media device. */
-		#define DEVICE_TYPE_BLOCK 0x00
+		#define DEVICE_TYPE_BLOCK   0x00
 		
 		/** Value for the DeviceType entry in the SCSI_Inquiry_Response_t enum, indicating a CD-ROM device. */
-		#define DEVICE_TYPE_CDROM 0x05
+		#define DEVICE_TYPE_CDROM   0x05
 
 	/* Type Defines: */
 		/** Type define for a SCSI response structure to a SCSI INQUIRY command. For details of the
diff --git a/Demos/Device/LowLevel/MassStorage/MassStorage.h b/Demos/Device/LowLevel/MassStorage/MassStorage.h
index 65407c8c14a525f17535291a9c2e0ac605ca8137..05dbe75bc67beaaaf31a38252767f8864bd43955 100644
--- a/Demos/Device/LowLevel/MassStorage/MassStorage.h
+++ b/Demos/Device/LowLevel/MassStorage/MassStorage.h
@@ -94,7 +94,7 @@
 		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
-		#define LEDMASK_USB_BUSY         (LEDS_LED2)
+		#define LEDMASK_USB_BUSY          LEDS_LED2
 		
 	/* Type defines: */
 		/** Type define for a Command Block Wrapper, used in the Mass Storage Bulk-Only Transport protocol. */
diff --git a/Demos/Device/LowLevel/Mouse/Mouse.h b/Demos/Device/LowLevel/Mouse/Mouse.h
index 698fe478ae8c04ff9a4dce4c415a5c86b45577d7..3296f5c892328c771317561e2dabcf4fda6ae354 100644
--- a/Demos/Device/LowLevel/Mouse/Mouse.h
+++ b/Demos/Device/LowLevel/Mouse/Mouse.h
@@ -53,25 +53,25 @@
 
 	/* Macros: */
 		/** Idle period indicating that reports should be sent only when the inputs have changed */
-		#define HID_IDLE_CHANGESONLY 0
+		#define HID_IDLE_CHANGESONLY      0
 	
 		/** HID Class specific request to get the next HID report from the device. */
-		#define REQ_GetReport        0x01
+		#define REQ_GetReport             0x01
 
 		/** HID Class specific request to get the idle timeout period of the device. */
-		#define REQ_GetIdle          0x02
+		#define REQ_GetIdle               0x02
 
 		/** HID Class specific request to send the next HID report to the device. */
-		#define REQ_SetReport        0x09
+		#define REQ_SetReport             0x09
 
 		/** HID Class specific request to set the idle timeout period of the device. */
-		#define REQ_SetIdle          0x0A
+		#define REQ_SetIdle               0x0A
 
 		/** HID Class specific request to get the current HID protocol in use, either report or boot. */
-		#define REQ_GetProtocol      0x03
+		#define REQ_GetProtocol           0x03
 
 		/** HID Class specific request to set the current HID protocol in use, either report or boot. */
-		#define REQ_SetProtocol      0x0B
+		#define REQ_SetProtocol           0x0B
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
 		#define LEDMASK_USB_NOTREADY      LEDS_LED1
diff --git a/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.h b/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.h
index 3ae896607bc89d9c65046841837f1ed1962b6034..0f6d9e6aae3c1c4ca5e3777b2f20ff80f0fca2ee 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.h
+++ b/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.h
@@ -74,7 +74,7 @@
 		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
-		#define LEDMASK_USB_BUSY         (LEDS_LED2)
+		#define LEDMASK_USB_BUSY          LEDS_LED2
 		
 	/* Type Defines: */
 		/** Type define for a RNDIS notification message, for transmission to the RNDIS host via the notification
diff --git a/Demos/Device/LowLevel/VirtualSerial/VirtualSerial.h b/Demos/Device/LowLevel/VirtualSerial/VirtualSerial.h
index d8abc1207663c5e306510874d72a55a99dafa149..ee623547471e63b6bfc5563717e09a729a6e985f 100644
--- a/Demos/Device/LowLevel/VirtualSerial/VirtualSerial.h
+++ b/Demos/Device/LowLevel/VirtualSerial/VirtualSerial.h
@@ -111,16 +111,16 @@
 		#define CONTROL_LINE_IN_OVERRUNERROR (1 << 6)
 		
 		/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
-		#define LEDMASK_USB_NOTREADY      LEDS_LED1
+		#define LEDMASK_USB_NOTREADY         LEDS_LED1
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is enumerating. */
-		#define LEDMASK_USB_ENUMERATING  (LEDS_LED2 | LEDS_LED3)
+		#define LEDMASK_USB_ENUMERATING     (LEDS_LED2 | LEDS_LED3)
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is ready. */
-		#define LEDMASK_USB_READY        (LEDS_LED2 | LEDS_LED4)
+		#define LEDMASK_USB_READY           (LEDS_LED2 | LEDS_LED4)
 
 		/** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */
-		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
+		#define LEDMASK_USB_ERROR           (LEDS_LED1 | LEDS_LED3)
 
 	/* Type Defines: */
 		/** Type define for the virtual serial port line encoding settings, for storing the current USART configuration
diff --git a/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.h b/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.h
index 4c3539fd01ee3394d1ac6bb1a171acce0c2a584c..45646ce86837f186c4ce0662571e6106a309327c 100644
--- a/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.h
+++ b/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.h
@@ -65,7 +65,7 @@
 		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
 		
 		/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
-		#define LEDMASK_USB_BUSY         (LEDS_LED2)
+		#define LEDMASK_USB_BUSY          LEDS_LED2
 
 	/* Function Prototypes: */
 		void SetupHardware(void);
diff --git a/Demos/Host/ClassDriver/PrinterHost/PrinterHost.h b/Demos/Host/ClassDriver/PrinterHost/PrinterHost.h
index 24e42ebca90c9ea1b0abfed069543b9ac1f77380..7621927630892f64a9b5035c4dcedb1b47813ab2 100644
--- a/Demos/Host/ClassDriver/PrinterHost/PrinterHost.h
+++ b/Demos/Host/ClassDriver/PrinterHost/PrinterHost.h
@@ -64,7 +64,7 @@
 		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
 		
 		/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
-		#define LEDMASK_USB_BUSY         (LEDS_LED2)
+		#define LEDMASK_USB_BUSY          LEDS_LED2
 
 	/* Function Prototypes: */
 		void SetupHardware(void);
diff --git a/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h b/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h
index ea87648c0133045500662719a8502fa6075bc7fe..48dc939c691862e0e7633bad3f5c713c08ade432 100644
--- a/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h
+++ b/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.h
@@ -64,7 +64,7 @@
 		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
 		
 		/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
-		#define LEDMASK_USB_BUSY         (LEDS_LED2)
+		#define LEDMASK_USB_BUSY          LEDS_LED2
 
 	/* Function Prototypes: */
 		void SetupHardware(void);
diff --git a/Demos/Host/Incomplete/BluetoothHost/ConfigDescriptor.h b/Demos/Host/Incomplete/BluetoothHost/ConfigDescriptor.h
index e94368714aa1524451a5edb295a2ed799eea2099..6b59289df49920526037e92a14e1b0c6fa9938dd 100644
--- a/Demos/Host/Incomplete/BluetoothHost/ConfigDescriptor.h
+++ b/Demos/Host/Incomplete/BluetoothHost/ConfigDescriptor.h
@@ -32,7 +32,7 @@
 #define _CONFIGDESCRIPTOR_H_
 
 	/* Includes: */
-		#include <LUFA/Drivers/USB/USB.h>                        // USB Functionality
+		#include <LUFA/Drivers/USB/USB.h>
 		
 		#include "BluetoothHost.h"
 		
diff --git a/Demos/Host/Incomplete/BluetoothHost/DeviceDescriptor.h b/Demos/Host/Incomplete/BluetoothHost/DeviceDescriptor.h
index 46edbdb270c98c9f50b38b7fc1acd207f69eb2cc..9de8bc1b5dad115f44b316145294ac824682bee2 100644
--- a/Demos/Host/Incomplete/BluetoothHost/DeviceDescriptor.h
+++ b/Demos/Host/Incomplete/BluetoothHost/DeviceDescriptor.h
@@ -32,7 +32,7 @@
 #define _DEVICEDESCRIPTOR_H_
 
 	/* Includes: */
-		#include <LUFA/Drivers/USB/USB.h>                        // USB Functionality
+		#include <LUFA/Drivers/USB/USB.h>
 		
 		#include "BluetoothHost.h"
 		
diff --git a/Demos/Host/LowLevel/GenericHIDHost/ConfigDescriptor.h b/Demos/Host/LowLevel/GenericHIDHost/ConfigDescriptor.h
index 48616106da4e6d8f98bbaabf9fc3cef83820c360..7cc1576ae7335bfba7c8b4801192a6720e0268fe 100644
--- a/Demos/Host/LowLevel/GenericHIDHost/ConfigDescriptor.h
+++ b/Demos/Host/LowLevel/GenericHIDHost/ConfigDescriptor.h
@@ -37,13 +37,13 @@
 #define _CONFIGDESCRIPTOR_H_
 
 	/* Includes: */
-		#include <LUFA/Drivers/USB/USB.h>                        // USB Functionality
+		#include <LUFA/Drivers/USB/USB.h>
 		
 		#include "GenericHIDHost.h"
 		
 	/* Macros: */
 		/** Interface Class value for the Human Interface Device class */
-		#define HID_CLASS                 0x03
+		#define HID_CLASS                   0x03
 
 		/** Maximum size of a device configuration descriptor which can be processed by the host, in bytes */
 		#define MAX_CONFIG_DESCRIPTOR_SIZE  512
diff --git a/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.h b/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.h
index 1c6210ad286fadc37daf863daca981bc985dac1f..bae5369ad483588be2d30cb0011c472ffa773180 100644
--- a/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.h
+++ b/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.h
@@ -54,13 +54,13 @@
 		
 	/* Macros: */
 		/** Pipe number for the HID data IN pipe */
-		#define HID_DATA_IN_PIPE                 1
+		#define HID_DATA_IN_PIPE          1
 		
 		/** Pipe number for the HID data OUT pipe */
-		#define HID_DATA_OUT_PIPE                2
+		#define HID_DATA_OUT_PIPE         2
 
 		/** HID Class specific request to send a HID report to the device. */
-		#define REQ_SetReport                    0x09
+		#define REQ_SetReport             0x09
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
 		#define LEDMASK_USB_NOTREADY      LEDS_LED1
diff --git a/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.h b/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.h
index 62684306f24decb1fb651d679fb91242a4f375c1..7fcd5113ec5d2532e36f54fe5f74c59213ebaabf 100644
--- a/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.h
+++ b/Demos/Host/LowLevel/JoystickHostWithParser/ConfigDescriptor.h
@@ -37,7 +37,7 @@
 #define _CONFIGDESCRIPTOR_H_
 
 	/* Includes: */
-		#include <LUFA/Drivers/USB/USB.h>                        // USB Functionality
+		#include <LUFA/Drivers/USB/USB.h>
 		
 		#include "HIDReport.h"
 		
diff --git a/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.h b/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.h
index 73c593850cfe74edbb2cdd59005cdbe7cd429412..32e2626f78365c12e035917bc056d0da94d9b414 100644
--- a/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.h
+++ b/Demos/Host/LowLevel/JoystickHostWithParser/JoystickHostWithParser.h
@@ -54,7 +54,7 @@
 
 	/* Macros: */
 		/** Pipe number for the joystick report data pipe */
-		#define JOYSTICK_DATAPIPE              1
+		#define JOYSTICK_DATAPIPE         1
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
 		#define LEDMASK_USB_NOTREADY      LEDS_LED1
diff --git a/Demos/Host/LowLevel/KeyboardHost/ConfigDescriptor.h b/Demos/Host/LowLevel/KeyboardHost/ConfigDescriptor.h
index 6dd9366ab991667083334f30cd7ca777b9eac669..07d3b2e937439ab9be625d83db948efa70407d97 100644
--- a/Demos/Host/LowLevel/KeyboardHost/ConfigDescriptor.h
+++ b/Demos/Host/LowLevel/KeyboardHost/ConfigDescriptor.h
@@ -37,7 +37,7 @@
 #define _CONFIGDESCRIPTOR_H_
 
 	/* Includes: */
-		#include <LUFA/Drivers/USB/USB.h>                        // USB Functionality
+		#include <LUFA/Drivers/USB/USB.h>
 		
 		#include "KeyboardHost.h"
 		
diff --git a/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.h b/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.h
index 9c6575cb1e26b8c911c67d609b2fd42f205437ad..2a6d56ddbbdd95afb02f11ca42f41ab78c8c48a8 100644
--- a/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.h
+++ b/Demos/Host/LowLevel/KeyboardHostWithParser/ConfigDescriptor.h
@@ -37,7 +37,7 @@
 #define _CONFIGDESCRIPTOR_H_
 
 	/* Includes: */
-		#include <LUFA/Drivers/USB/USB.h>                        // USB Functionality
+		#include <LUFA/Drivers/USB/USB.h>
 		
 		#include "HIDReport.h"
 		
diff --git a/Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.h b/Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.h
index 8453bb6612ee9077035f7f00733c053ff95df366..461c2a05988c7b8cdafee865096d2a438c89a92b 100644
--- a/Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.h
+++ b/Demos/Host/LowLevel/KeyboardHostWithParser/KeyboardHostWithParser.h
@@ -49,7 +49,7 @@
 
 	/* Macros: */
 		/** Pipe number for the keyboard report data pipe */
-		#define KEYBOARD_DATAPIPE              1
+		#define KEYBOARD_DATAPIPE         1
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
 		#define LEDMASK_USB_NOTREADY      LEDS_LED1
diff --git a/Demos/Host/LowLevel/MIDIHost/ConfigDescriptor.h b/Demos/Host/LowLevel/MIDIHost/ConfigDescriptor.h
index 8a49e2bd0273e44ad3cbca4842a64f51efef1abc..1ca24d495f29fccac6c6e148f2d34b58c82fab6d 100644
--- a/Demos/Host/LowLevel/MIDIHost/ConfigDescriptor.h
+++ b/Demos/Host/LowLevel/MIDIHost/ConfigDescriptor.h
@@ -37,7 +37,7 @@
 #define _CONFIGDESCRIPTOR_H_
 
 	/* Includes: */
-		#include <LUFA/Drivers/USB/USB.h>      // USB Functionality
+		#include <LUFA/Drivers/USB/USB.h>
 		
 		#include "MIDIHost.h"
 		
diff --git a/Demos/Host/LowLevel/MassStorageHost/ConfigDescriptor.h b/Demos/Host/LowLevel/MassStorageHost/ConfigDescriptor.h
index 2f311a5bb98b84e66f8b0986d8bdc2fde3fc4cd5..e51faa48198597c31eeaeac93d5b99085dc10c9a 100644
--- a/Demos/Host/LowLevel/MassStorageHost/ConfigDescriptor.h
+++ b/Demos/Host/LowLevel/MassStorageHost/ConfigDescriptor.h
@@ -37,7 +37,7 @@
 #define _CONFIGDESCRIPTOR_H_
 
 	/* Includes: */
-		#include <LUFA/Drivers/USB/USB.h>                        // USB Functionality
+		#include <LUFA/Drivers/USB/USB.h>
 		
 		#include "MassStorageHost.h"
 		
diff --git a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h
index c7bb7c7d9c01acd7352b8312d3e97c77e15a1ee5..9ce419b4f14d4340c5fad5eed78d1d0e691f1e31 100644
--- a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h
+++ b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h
@@ -64,7 +64,7 @@
 		#define COMMAND_DIRECTION_DATA_IN           (1 << 7)
 		
 		/** Timeout period between the issuing of a CBW to a device, and the reception of the first packet */
-		#define COMMAND_DATA_TIMEOUT_MS             2000
+		#define COMMAND_DATA_TIMEOUT_MS             10000
 
 		/** Pipe number of the Mass Storage data IN pipe */
 		#define MASS_STORE_DATA_IN_PIPE             1
diff --git a/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.h b/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.h
index e9f02784cc8bffc641ba9036b4dbcc569945f5b9..663b7205df9f4529c2919c7413a5c37c860f2fc6 100644
--- a/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.h
+++ b/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.h
@@ -70,7 +70,7 @@
 		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
-		#define LEDMASK_USB_BUSY         (LEDS_LED2)
+		#define LEDMASK_USB_BUSY          LEDS_LED2
 		
 	/* Function Prototypes: */
 		void MassStorage_Task(void);
diff --git a/Demos/Host/LowLevel/MouseHost/ConfigDescriptor.h b/Demos/Host/LowLevel/MouseHost/ConfigDescriptor.h
index 6a194b1c8f709e14303e2d17d0d32e9eee9880aa..1acf20592aaa05a1dac159e72cbfb549b67814cf 100644
--- a/Demos/Host/LowLevel/MouseHost/ConfigDescriptor.h
+++ b/Demos/Host/LowLevel/MouseHost/ConfigDescriptor.h
@@ -37,7 +37,7 @@
 #define _CONFIGDESCRIPTOR_H_
 
 	/* Includes: */
-		#include <LUFA/Drivers/USB/USB.h>                        // USB Functionality
+		#include <LUFA/Drivers/USB/USB.h>
 		
 		#include "MouseHost.h"
 		
diff --git a/Demos/Host/LowLevel/MouseHost/MouseHost.h b/Demos/Host/LowLevel/MouseHost/MouseHost.h
index 6a31c658bb7984b1592f462510cc04c5962980b8..207ac0c3442f6ec75cde7c035e3ef6186d027bc0 100644
--- a/Demos/Host/LowLevel/MouseHost/MouseHost.h
+++ b/Demos/Host/LowLevel/MouseHost/MouseHost.h
@@ -54,10 +54,10 @@
 		
 	/* Macros: */
 		/** Pipe number for the mouse data IN pipe */
-		#define MOUSE_DATAPIPE              1
+		#define MOUSE_DATAPIPE            1
 		
 		/** HID Class Specific request to set the report protocol mode */
-		#define REQ_SetProtocol             0x0B
+		#define REQ_SetProtocol           0x0B
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
 		#define LEDMASK_USB_NOTREADY      LEDS_LED1
diff --git a/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.h b/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.h
index 7b33c7428203164f44f522cc8d0ecd9f2019ba2e..fe0419798c07dbf3f362b63738491eda3e5f8e3a 100644
--- a/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.h
+++ b/Demos/Host/LowLevel/MouseHostWithParser/ConfigDescriptor.h
@@ -37,7 +37,7 @@
 #define _CONFIGDESCRIPTOR_H_
 
 	/* Includes: */
-		#include <LUFA/Drivers/USB/USB.h>                        // USB Functionality
+		#include <LUFA/Drivers/USB/USB.h>
 		
 		#include "HIDReport.h"
 		
diff --git a/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.h b/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.h
index 92782cf750ae16bd7d747c0dd42afdf6daf90904..9183cca1adad86ded02b6c8371bf683d5395ba96 100644
--- a/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.h
+++ b/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.h
@@ -54,7 +54,7 @@
 
 	/* Macros: */
 		/** Pipe number for the mouse report data pipe */
-		#define MOUSE_DATAPIPE              1
+		#define MOUSE_DATAPIPE            1
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
 		#define LEDMASK_USB_NOTREADY      LEDS_LED1
diff --git a/Demos/Host/LowLevel/PrinterHost/PrinterHost.h b/Demos/Host/LowLevel/PrinterHost/PrinterHost.h
index db7a9fe7e2b6514458bc4b45fafc3dc7d63ed6c7..b5008c1e91cc17c4e8f7182286c5f72cf329f4ab 100644
--- a/Demos/Host/LowLevel/PrinterHost/PrinterHost.h
+++ b/Demos/Host/LowLevel/PrinterHost/PrinterHost.h
@@ -67,7 +67,7 @@
 		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
 	
 		/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
-		#define LEDMASK_USB_BUSY         (LEDS_LED2)
+		#define LEDMASK_USB_BUSY          LEDS_LED2
 	
 	/* Function Prototypes: */
 		void EVENT_USB_Host_DeviceAttached(void);
diff --git a/Demos/Host/LowLevel/RNDISEthernetHost/ConfigDescriptor.h b/Demos/Host/LowLevel/RNDISEthernetHost/ConfigDescriptor.h
index 4279c1a1319ea3340d73e2f2ddb9a95622a751dd..d2d1596f7496b22dd0b3e2a8c4c389173dfd5833 100644
--- a/Demos/Host/LowLevel/RNDISEthernetHost/ConfigDescriptor.h
+++ b/Demos/Host/LowLevel/RNDISEthernetHost/ConfigDescriptor.h
@@ -37,7 +37,7 @@
 #define _CONFIGDESCRIPTOR_H_
 
 	/* Includes: */
-		#include <LUFA/Drivers/USB/USB.h>                        // USB Functionality
+		#include <LUFA/Drivers/USB/USB.h>
 		
 		#include "RNDISEthernetHost.h"
 		
diff --git a/Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.h b/Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.h
index 47e5c24d15a4fb3df43fb0058ac707051f799a90..480c1138f2c88069cd1362d9a61c75cbd6d2254e 100644
--- a/Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.h
+++ b/Demos/Host/LowLevel/RNDISEthernetHost/RNDISEthernetHost.h
@@ -67,7 +67,7 @@
 		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
 				
 		/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
-		#define LEDMASK_USB_BUSY         (LEDS_LED2)
+		#define LEDMASK_USB_BUSY          LEDS_LED2
 
 	/* Type Defines: */
 		/** Type define for a RNDIS notification message, for transmission to the RNDIS host via the notification
diff --git a/Demos/Host/LowLevel/StillImageHost/ConfigDescriptor.h b/Demos/Host/LowLevel/StillImageHost/ConfigDescriptor.h
index 24dd0664d76c06d681c406b927f56aae13478c6b..946edb16bde6676af936f15968558c6f456a8190 100644
--- a/Demos/Host/LowLevel/StillImageHost/ConfigDescriptor.h
+++ b/Demos/Host/LowLevel/StillImageHost/ConfigDescriptor.h
@@ -37,7 +37,7 @@
 #define _CONFIGDESCRIPTOR_H_
 
 	/* Includes: */
-		#include <LUFA/Drivers/USB/USB.h>                        // USB Functionality
+		#include <LUFA/Drivers/USB/USB.h>
 		
 		#include "StillImageHost.h"
 		
diff --git a/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h b/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h
index 6ac70fc50dc60694df0ac355c841e42aeddf6c2f..b38f5c1767ccc10570cb7c6565ab63a284d95cad 100644
--- a/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h
+++ b/Demos/Host/LowLevel/StillImageHost/Lib/StillImageCommands.h
@@ -37,7 +37,7 @@
 #define _STILL_IMAGE_COMMANDS_H_
 
 	/* Includes: */
-		#include <LUFA/Drivers/USB/USB.h>                        // USB Functionality
+		#include <LUFA/Drivers/USB/USB.h>
 		
 		#include "PIMACodes.h"
 
@@ -55,10 +55,10 @@
 		 *
 		 *  \param[in] chars  Total number of Unicode characters in the string
 		 */
-		#define UNICODE_STRING_LENGTH(chars)   (chars << 1)
+		#define UNICODE_STRING_LENGTH(chars)   ((chars) << 1)
 
 		/** Timeout period between the issuing of a command to a device, and the reception of the first packet */
-		#define COMMAND_DATA_TIMEOUT_MS        5000
+		#define COMMAND_DATA_TIMEOUT_MS        10000
 		
 		/** Used in the DataLength field of a PIMA container, to give the total container size in bytes for
 		 *  a command container.
@@ -66,7 +66,7 @@
 		 *  \param[in] params  Number of parameters which are to be sent in the Param field of the container
 		 */
 		#define PIMA_COMMAND_SIZE(params)      ((sizeof(PIMA_SendBlock) - sizeof(PIMA_SendBlock.Params)) + \
-		                                        (params * sizeof(PIMA_SendBlock.Params[0])))
+		                                        ((params) * sizeof(PIMA_SendBlock.Params[0])))
 
 		/** Used in the DataLength field of a PIMA container, to give the total container size in bytes for
 		 *  a data container.
diff --git a/Demos/Host/LowLevel/StillImageHost/StillImageHost.h b/Demos/Host/LowLevel/StillImageHost/StillImageHost.h
index 89956e0f5d69aaa9e99c3a6e9c7da74c932cbaeb..23077c44c2a1ca97c095d2ade565ecb3312d3ce9 100644
--- a/Demos/Host/LowLevel/StillImageHost/StillImageHost.h
+++ b/Demos/Host/LowLevel/StillImageHost/StillImageHost.h
@@ -66,7 +66,7 @@
 		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
-		#define LEDMASK_USB_BUSY         (LEDS_LED2)
+		#define LEDMASK_USB_BUSY          LEDS_LED2
 		
 	/* Function Prototypes: */
 		void StillImage_Task(void);
diff --git a/LUFA/Drivers/Board/Dataflash.h b/LUFA/Drivers/Board/Dataflash.h
index f65298a1db102656e88f3c30aecfa82a070b54ec..22f4b10d61f8eef872cc1b43d11006171ca1c9ef 100644
--- a/LUFA/Drivers/Board/Dataflash.h
+++ b/LUFA/Drivers/Board/Dataflash.h
@@ -111,7 +111,7 @@
 				#define Dataflash_GetSelectedChip()          (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK)
 
 				#define Dataflash_SelectChip(mask)   MACROS{ DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT \
-															 & ~DATAFLASH_CHIPCS_MASK) | mask);              }MACROE
+															 & ~DATAFLASH_CHIPCS_MASK) | (mask));            }MACROE
 				
 				#define Dataflash_DeselectChip()             Dataflash_SelectChip(DATAFLASH_NO_CHIP)
 			#endif
diff --git a/LUFA/Drivers/USB/Class/Host/MassStorage.h b/LUFA/Drivers/USB/Class/Host/MassStorage.h
index 584172fe83ab7447d0cc99d88f3ba138ae226e89..aa70733f563d0dfc462c74202cae245ded2849ce 100644
--- a/LUFA/Drivers/USB/Class/Host/MassStorage.h
+++ b/LUFA/Drivers/USB/Class/Host/MassStorage.h
@@ -267,7 +267,7 @@
 			#define COMMAND_DIRECTION_DATA_OUT     (0 << 7)
 			#define COMMAND_DIRECTION_DATA_IN      (1 << 7)
 			
-			#define COMMAND_DATA_TIMEOUT_MS        2000
+			#define COMMAND_DATA_TIMEOUT_MS        10000
 
 			#define MS_FOUND_DATAPIPE_IN           (1 << 0)
 			#define MS_FOUND_DATAPIPE_OUT          (1 << 1)
diff --git a/LUFA/Drivers/USB/Class/Host/StillImage.h b/LUFA/Drivers/USB/Class/Host/StillImage.h
index 4478931e04e58db16126c0fbb5f0132eb0e12c2a..f89b59ec6f1230c08e22c9d1cea628df632c8e25 100644
--- a/LUFA/Drivers/USB/Class/Host/StillImage.h
+++ b/LUFA/Drivers/USB/Class/Host/StillImage.h
@@ -230,7 +230,7 @@
 			#define SI_FOUND_DATAPIPE_IN           (1 << 1)
 			#define SI_FOUND_DATAPIPE_OUT          (1 << 2)
 
-			#define COMMAND_DATA_TIMEOUT_MS        5000
+			#define COMMAND_DATA_TIMEOUT_MS        10000
 		
 		/* Function Prototypes: */
 			#if defined(INCLUDE_FROM_SI_CLASS_HOST_C)
diff --git a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
index 28629442421ab49d82e766dc89b1fff1d684fa5a..9b46c09361e6ec0112b262b248cd898c16420ce9 100644
--- a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
+++ b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
@@ -82,12 +82,12 @@
 			#endif
 			
 			/** Macro to calculate the power value for the device descriptor, from a given number of milliamps. */
-			#define USB_CONFIG_POWER_MA(mA)           (mA >> 1)
+			#define USB_CONFIG_POWER_MA(mA)           ((mA) >> 1)
 
 			/** Macro to calculate the Unicode length of a string with a given number of Unicode characters.
 			 *  Should be used in string descriptor's headers for giving the string descriptor's byte length.
 			 */
-			#define USB_STRING_LEN(str)               (sizeof(USB_Descriptor_Header_t) + (str << 1))
+			#define USB_STRING_LEN(str)               (sizeof(USB_Descriptor_Header_t) + ((str) << 1))
 			
 			/** Macro to encode a given four digit floating point version number (e.g. 01.23) into Binary Coded
 			 *  Decimal format for descriptor fields requiring BCD encoding, such as the USB version number in the
@@ -593,10 +593,10 @@
 	/* Private Interface - For use in library only: */
 	#if !defined(__DOXYGEN__)
 		/* Macros: */
-			#define VERSION_TENS(x)                   (int)(x / 10)
-			#define VERSION_ONES(x)                   (int)(x - (10 * VERSION_TENS(x)))
-			#define VERSION_TENTHS(x)                 (int)((x - (int)x) * 10)
-			#define VERSION_HUNDREDTHS(x)             (int)(((x - (int)x) * 100) - (10 * VERSION_TENTHS(x)))
+			#define VERSION_TENS(x)                   (int)((x) / 10)
+			#define VERSION_ONES(x)                   (int)((x) - (10 * VERSION_TENS(x)))
+			#define VERSION_TENTHS(x)                 (int)(((x) - (int)(x)) * 10)
+			#define VERSION_HUNDREDTHS(x)             (int)((((x) - (int)(x)) * 100) - (10 * VERSION_TENTHS(x)))
 	#endif
 	
 	/* Disable C linkage for C++ Compilers: */
diff --git a/LUFA/Drivers/USB/HighLevel/USBTask.h b/LUFA/Drivers/USB/HighLevel/USBTask.h
index cc0601548d1949286da955b7ae187585df204f4a..4c9b717a439415614db18340e153120fa64706a2 100644
--- a/LUFA/Drivers/USB/HighLevel/USBTask.h
+++ b/LUFA/Drivers/USB/HighLevel/USBTask.h
@@ -175,7 +175,9 @@
 			#endif
 			
 		/* Macros: */
-			#define HOST_TASK_NONBLOCK_WAIT(duration, nextstate) MACROS{USB_HostState = HOST_STATE_WaitForDevice; WaitMSRemaining = duration; PostWaitState = nextstate; }MACROE
+			#define HOST_TASK_NONBLOCK_WAIT(duration, nextstate) MACROS{ USB_HostState = HOST_STATE_WaitForDevice; \
+			                                                             WaitMSRemaining = (duration);             \
+			                                                             PostWaitState = (nextstate);        }MACROE
 	#endif
 	
 	/* Disable C linkage for C++ Compilers: */
diff --git a/LUFA/Drivers/USB/LowLevel/Endpoint.h b/LUFA/Drivers/USB/LowLevel/Endpoint.h
index b9122e4085f2100349cf67687101e4c3b140f3e9..eb09a0ddbd3d2a553296f924ebe3f97cb1ec8079 100644
--- a/LUFA/Drivers/USB/LowLevel/Endpoint.h
+++ b/LUFA/Drivers/USB/LowLevel/Endpoint.h
@@ -353,7 +353,7 @@
 				#if !defined(CONTROL_ONLY_DEVICE)
 					#define Endpoint_SelectEndpoint(epnum)    MACROS{ UENUM = (epnum); }MACROE
 				#else
-					#define Endpoint_SelectEndpoint(epnum)    (void)epnum
+					#define Endpoint_SelectEndpoint(epnum)    (void)(epnum)
 				#endif
 
 				#define Endpoint_ResetFIFO(epnum)             MACROS{ UERST = (1 << (epnum)); UERST = 0; }MACROE
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index 1fdd966260e59eb58a5aec3be3d76894abe3e045..f7af9a1e9f4f5c57f3be9c413db32097ce60221e 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -53,6 +53,9 @@
   *  - Fixed HID Parser not distributing the Usage Min and Usage Max values across an array of report items
   *  - Fixed Mass Storage Host Class driver and Low Level demo not clearing the error condition if an attached device returns a
   *    STALL to a GET MAX LUN request (thanks to Martin Luxen)
+  *  - Fixed TeensyHID bootloader not properly shutting down the USB interface to trigger a disconnection on the host before resetting
+  *  - 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
   *
   *  \section Sec_ChangeLog091122 Version 091122
   *
diff --git a/LUFA/ManPages/FutureChanges.txt b/LUFA/ManPages/FutureChanges.txt
index 987ce3d371019b0522add48ca322a4255a775775..3267afc73d23cd220f6f51f2b42c5e8992e69c66 100644
--- a/LUFA/ManPages/FutureChanges.txt
+++ b/LUFA/ManPages/FutureChanges.txt
@@ -26,7 +26,11 @@
   *      -# Write LUFA tutorials
   *  - Demos/Projects
   *      -# Multiple-Report HID device
-  *      -# Device/Host bridge
+  *      -# Device/Host USB bridge
+  *      -# Finish BluetoothHost demo
+  *      -# Finish MIDI class Bootloader
+  *      -# Finish SideShow demo
+  *      -# Finish StandaloneProgrammer project
   *  - Ports
   *      -# AVR32 UC3B series microcontrollers
   *      -# Atmel ARM7 series microcontrollers
diff --git a/Projects/AVRISP/Lib/V2Protocol.h b/Projects/AVRISP/Lib/V2Protocol.h
index d40f951f9afacec28580f73c575d25273d98a535..c6203004fe32b28d62a4c7701372e1758e183ab9 100644
--- a/Projects/AVRISP/Lib/V2Protocol.h
+++ b/Projects/AVRISP/Lib/V2Protocol.h
@@ -57,7 +57,7 @@
 
 	/* Macros: */
 		/** Programmer ID string, returned to the host during the CMD_SIGN_ON command processing */
-		#define PROGRAMMER_ID                   "AVRISP_MK2"
+		#define PROGRAMMER_ID             "AVRISP_MK2"
 
 		/** Timeout in milliseconds of target busy-wait loops waiting for a command to complete */
 		#define TARGET_BUSY_TIMEOUT_MS    240
diff --git a/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.h b/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.h
index 744ad01bf695b8b6a467362384b13c717662bd0c..828e3ea501ff96543569de4f3d06df7cc86acb22 100644
--- a/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.h
+++ b/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.h
@@ -68,7 +68,7 @@
 		#define LEDMASK_USB_ERROR        (LEDS_LED1 | LEDS_LED3)
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
-		#define LEDMASK_USB_BUSY         (LEDS_LED2)
+		#define LEDMASK_USB_BUSY          LEDS_LED2
 		
 	/* External Variables: */
 		extern FILE DiskStream;
diff --git a/Projects/MissileLauncher/MissileLauncher.c b/Projects/MissileLauncher/MissileLauncher.c
index a16d3132b7628461e402e8a040501b7fe8585776..26dd077cd75a2a4b11603b29f485f5712f0cc064 100644
--- a/Projects/MissileLauncher/MissileLauncher.c
+++ b/Projects/MissileLauncher/MissileLauncher.c
@@ -287,7 +287,7 @@ void WriteNextReport(uint8_t* ReportOUTData, uint16_t ReportLength)
 		USB_ControlRequest = (USB_Request_Header_t)
 			{
 				.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
-				.bRequest      = 0x09,
+				.bRequest      = REQ_SetReport,
 				.wValue        = 0x02,
 				.wIndex        = 0x01,
 				.wLength       = ReportLength,
diff --git a/Projects/MissileLauncher/MissileLauncher.h b/Projects/MissileLauncher/MissileLauncher.h
index 86fbe86020c936038dbe36ac97183ddcccb5bb3c..e92fe743cfe7d0cd22cb7b3e905c0d0936981801 100644
--- a/Projects/MissileLauncher/MissileLauncher.h
+++ b/Projects/MissileLauncher/MissileLauncher.h
@@ -55,13 +55,13 @@
 		
 	/* Macros: */
 		/** Pipe number for the HID data IN pipe */
-		#define HID_DATA_IN_PIPE                 1
+		#define HID_DATA_IN_PIPE          1
 		
 		/** Pipe number for the HID data OUT pipe */
-		#define HID_DATA_OUT_PIPE                2
+		#define HID_DATA_OUT_PIPE         2
 
 		/** HID Class specific request to send a HID report to the device. */
-		#define REQ_SetReport                    0x09
+		#define REQ_SetReport             0x09
 
 		/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
 		#define LEDMASK_USB_NOTREADY      LEDS_LED1