USB: g_dnl: Change device class
authorJohn Tobias <john.tobias.ph@gmail.com>
Thu, 7 Apr 2016 23:49:03 +0000 (16:49 -0700)
committerMarek Vasut <marex@denx.de>
Wed, 20 Apr 2016 09:43:27 +0000 (11:43 +0200)
The USB Mass Storage (ums) works in Windows, Linux and OS X (EL Capitan).
But, not in OS X (Yosemite). By applying the said patch, it extends
the ums support.

Signed-off-by: John Tobias <john.tobias.ph@gmail.com>
Tested-by: Lukasz Majewski <l.majewski@samsung.com>
Test HW: Odroid XU3 (./test/py UMS + DFU tests)

Tested-by: John Tobias <john.tobias.ph@gmail.com>
Linux:
    - Run ums to expose all my eMMC partition - shows all correctly
    - Run ums to expose only 1 partition of my eMMC - show correctly

Windows:
    - Run ums to expose all my eMMC partition - it detects but it prompts,
    if I want to format it (due to a non windows partition)
    - Run ums to expose only the FAT32 partition - it show the partition
      correctly.

drivers/usb/gadget/g_dnl.c

index 2fa6da4091e16b07ca5b2b3322e133b67550b934..bd3aad927bdb1bada22faec3ac838e16ae5ef044 100644 (file)
@@ -58,8 +58,8 @@ static struct usb_device_descriptor device_desc = {
        .bDescriptorType = USB_DT_DEVICE,
 
        .bcdUSB = __constant_cpu_to_le16(0x0200),
-       .bDeviceClass = USB_CLASS_COMM,
-       .bDeviceSubClass = 0x02, /*0x02:CDC-modem , 0x00:CDC-serial*/
+       .bDeviceClass = USB_CLASS_PER_INTERFACE,
+       .bDeviceSubClass = 0, /*0x02:CDC-modem , 0x00:CDC-serial*/
 
        .idVendor = __constant_cpu_to_le16(CONFIG_G_DNL_VENDOR_NUM),
        .idProduct = __constant_cpu_to_le16(CONFIG_G_DNL_PRODUCT_NUM),