Dear Alan, Your patch works like a charm. Tested both on my device and on a few standard MassStorageDevice class USB card-readers. Tests were conducted on Gigabyte GA-J1900N-D3V mainboard (with Intel® Celeron™ J1900 quad-core processor onboard). dumps from running system follow. -bash-4.2# dmesg | grep -i xhci [ 2.325894] xhci_hcd 0000:00:14.0: setting latency timer to 64 [ 2.325903] xhci_hcd 0000:00:14.0: xHCI Host Controller [ 2.325917] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1 [ 2.326058] xhci_hcd 0000:00:14.0: cache line size of 64 is not supported [ 2.326082] xhci_hcd 0000:00:14.0: irq 106 for MSI/MSI-X [ 2.326235] usb usb1: Product: xHCI Host Controller [ 2.326239] usb usb1: Manufacturer: Linux 3.12.17r2 xhci_hcd [ 2.327300] xhci_hcd 0000:00:14.0: xHCI Host Controller [ 2.327309] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2 [ 2.327422] usb usb2: Product: xHCI Host Controller [ 2.327426] usb usb2: Manufacturer: Linux 3.12.17r2 xhci_hcd [ 2.537398] usb 2-1: new SuperSpeed USB device number 2 using xhci_hcd [ 2.721199] usb 1-1: new high-speed USB device number 2 using xhci_hcd [ 2.905195] usb 1-2: new high-speed USB device number 3 using xhci_hcd [ 3.025201] usb 1-1.2: new low-speed USB device number 4 using xhci_hcd [ 303.853145] usb 1-1.3: new high-speed USB device number 5 using xhci_hcd -bash-4.2# lsusb Bus 001 Device 002: ID 045b:0209 Hitachi, Ltd Bus 001 Device 003: ID 03eb:0002 Atmel Corp. //MY DEVICE Bus 002 Device 002: ID 045b:0210 Hitachi, Ltd Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 046d:c31c Logitech, Inc. Keyboard K120 for Business Bus 001 Device 005: ID 1e3d:4083 Chipsbank Microelectronics Co., Ltd //standard MSD class USB reader details of my device: -bash-4.2# lsusb -v -d 03eb: Bus 001 Device 003: ID 03eb:0002 Atmel Corp. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x03eb Atmel Corp. idProduct 0x0002 bcdDevice 0.01 iManufacturer 1 webpage iProduct 2 USB2boards bridge with MSD. iSerial 3 53303120313739343030372035323035 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 69 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk-Only iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0080 1x 128 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x86 EP 6 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0100 1x 256 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 4 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0001 Self Powered and a quick and dirty MSD-class testing for any discrepancies/file errors : -bash-4.2# dd if=/dev/urandom of=rand.rnd bs=1M count=100 100+0 records in 100+0 records out 104857600 bytes (105 MB) copied, 116.22 s, 902 kB/s -bash-4.2# sync -bash-4.2# cp rand.rnd rand2.rnd -bash-4.2# sync -bash-4.2# cmp rand2.rnd rand.rnd -bash-4.2# Regards. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html