diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-09-11 13:13:01 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-09-11 13:13:01 -0400 |
| commit | ae292dbd2e9385d4c63f0c7099ab73b60d1b26d3 (patch) | |
| tree | 58b9b1524f71d3d7709ce5f971dc88805d8f80ef /drivers | |
| parent | af5b14c49aad13de1c8e9e1abfbabe127c3af92e (diff) | |
| parent | 03fc370bdc1b31f3d09bd88d65bc50c03f450a9d (diff) | |
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6:
USB: drivers/usb/serial/bus.c: Fix incompatible pointer type warning
USB: another quirky device (LCD display)
USB: fix serial gadget ACM breakage
USB: More USB_QUIRK_RESET_RESUME devices
USB Mass Storage: limit "Rockchip ROCK MP3" device (071b:3203) max I/O to 64 sectors per command
USB: Nikon D40 Quirks
USB: Add Sony Ericsson P1i to unusual_devs.h
USB: option: Add Dell HSDPA 5520 to driver
USB: option: Add a new device ID for the HUAWEI E220 HSDPA modem.
USB: fix linked list insertion bugfix for usb core
USB: quirky flash drive
USB: prevent Genesys USB-IDE from autosuspending
USB: prevent Thomson card reader from autosuspending
USB: Add iPhone device id to the quirk list.
USB: ftdi_sio: add of a new product/manufacturer, TML
usb/misc/sisusbvga: add product ID of TARGUS/MCT device
USB: oti6858: Remove broken ioctl code in -mm tree and also the broken fixes
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/usb/core/driver.c | 2 | ||||
| -rw-r--r-- | drivers/usb/core/quirks.c | 25 | ||||
| -rw-r--r-- | drivers/usb/gadget/serial.c | 25 | ||||
| -rw-r--r-- | drivers/usb/misc/sisusbvga/sisusb.c | 1 | ||||
| -rw-r--r-- | drivers/usb/serial/bus.c | 2 | ||||
| -rw-r--r-- | drivers/usb/serial/ftdi_sio.c | 1 | ||||
| -rw-r--r-- | drivers/usb/serial/ftdi_sio.h | 8 | ||||
| -rw-r--r-- | drivers/usb/serial/option.c | 3 | ||||
| -rw-r--r-- | drivers/usb/serial/oti6858.c | 15 | ||||
| -rw-r--r-- | drivers/usb/storage/unusual_devs.h | 30 |
10 files changed, 85 insertions, 27 deletions
diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c index a1ad11d0c47c..63b1243a9139 100644 --- a/drivers/usb/core/driver.c +++ b/drivers/usb/core/driver.c | |||
| @@ -60,7 +60,7 @@ ssize_t usb_store_new_id(struct usb_dynids *dynids, | |||
| 60 | dynid->id.match_flags = USB_DEVICE_ID_MATCH_DEVICE; | 60 | dynid->id.match_flags = USB_DEVICE_ID_MATCH_DEVICE; |
| 61 | 61 | ||
| 62 | spin_lock(&dynids->lock); | 62 | spin_lock(&dynids->lock); |
| 63 | list_add_tail(&dynids->list, &dynid->node); | 63 | list_add_tail(&dynid->node, &dynids->list); |
| 64 | spin_unlock(&dynids->lock); | 64 | spin_unlock(&dynids->lock); |
| 65 | 65 | ||
| 66 | if (get_driver(driver)) { | 66 | if (get_driver(driver)) { |
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c index 9e467118dc94..7f17d0fd76c0 100644 --- a/drivers/usb/core/quirks.c +++ b/drivers/usb/core/quirks.c | |||
| @@ -28,10 +28,16 @@ | |||
| 28 | * devices is broken... | 28 | * devices is broken... |
| 29 | */ | 29 | */ |
| 30 | static const struct usb_device_id usb_quirk_list[] = { | 30 | static const struct usb_device_id usb_quirk_list[] = { |
| 31 | /* CBM - Flash disk */ | ||
| 32 | { USB_DEVICE(0x0204, 0x6025), .driver_info = USB_QUIRK_RESET_RESUME }, | ||
| 31 | /* HP 5300/5370C scanner */ | 33 | /* HP 5300/5370C scanner */ |
| 32 | { USB_DEVICE(0x03f0, 0x0701), .driver_info = USB_QUIRK_STRING_FETCH_255 }, | 34 | { USB_DEVICE(0x03f0, 0x0701), .driver_info = USB_QUIRK_STRING_FETCH_255 }, |
| 33 | /* Hewlett-Packard PhotoSmart 720 / PhotoSmart 935 (storage) */ | 35 | /* Hewlett-Packard PhotoSmart 720 / PhotoSmart 935 (storage) */ |
| 34 | { USB_DEVICE(0x03f0, 0x4002), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, | 36 | { USB_DEVICE(0x03f0, 0x4002), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, |
| 37 | |||
| 38 | /* SGS Thomson Microelectronics 4in1 card reader */ | ||
| 39 | { USB_DEVICE(0x0483, 0x0321), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, | ||
| 40 | |||
| 35 | /* Acer Peripherals Inc. (now BenQ Corp.) Prisa 640BU */ | 41 | /* Acer Peripherals Inc. (now BenQ Corp.) Prisa 640BU */ |
| 36 | { USB_DEVICE(0x04a5, 0x207e), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, | 42 | { USB_DEVICE(0x04a5, 0x207e), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, |
| 37 | /* Benq S2W 3300U */ | 43 | /* Benq S2W 3300U */ |
| @@ -66,6 +72,19 @@ static const struct usb_device_id usb_quirk_list[] = { | |||
| 66 | { USB_DEVICE(0x05cc, 0x2267), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, | 72 | { USB_DEVICE(0x05cc, 0x2267), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, |
| 67 | /* Ultima Electronics Corp.*/ | 73 | /* Ultima Electronics Corp.*/ |
| 68 | { USB_DEVICE(0x05d8, 0x4005), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, | 74 | { USB_DEVICE(0x05d8, 0x4005), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, |
| 75 | |||
| 76 | /* Genesys USB-to-IDE */ | ||
| 77 | { USB_DEVICE(0x0503, 0x0702), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, | ||
| 78 | |||
| 79 | /* USB Graphical LCD - EEH Datalink GmbH */ | ||
| 80 | { USB_DEVICE(0x060c, 0x04eb), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, | ||
| 81 | |||
| 82 | /* INTEL VALUE SSD */ | ||
| 83 | { USB_DEVICE(0x8086, 0xf1a5), .driver_info = USB_QUIRK_RESET_RESUME }, | ||
| 84 | |||
| 85 | /* M-Systems Flash Disk Pioneers */ | ||
| 86 | { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME }, | ||
| 87 | |||
| 69 | /* Agfa Snapscan1212u */ | 88 | /* Agfa Snapscan1212u */ |
| 70 | { USB_DEVICE(0x06bd, 0x2061), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, | 89 | { USB_DEVICE(0x06bd, 0x2061), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, |
| 71 | /* Seagate RSS LLC */ | 90 | /* Seagate RSS LLC */ |
| @@ -87,6 +106,12 @@ static const struct usb_device_id usb_quirk_list[] = { | |||
| 87 | { USB_DEVICE(0x0fca, 0x0004), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, | 106 | { USB_DEVICE(0x0fca, 0x0004), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, |
| 88 | { USB_DEVICE(0x0fca, 0x0006), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, | 107 | { USB_DEVICE(0x0fca, 0x0006), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, |
| 89 | 108 | ||
| 109 | /* Apple iPhone */ | ||
| 110 | { USB_DEVICE(0x05ac, 0x1290), .driver_info = USB_QUIRK_NO_AUTOSUSPEND }, | ||
| 111 | |||
| 112 | /* SKYMEDI USB_DRIVE */ | ||
| 113 | { USB_DEVICE(0x1516, 0x8628), .driver_info = USB_QUIRK_RESET_RESUME }, | ||
| 114 | |||
| 90 | { } /* terminating entry must be last */ | 115 | { } /* terminating entry must be last */ |
| 91 | }; | 116 | }; |
| 92 | 117 | ||
diff --git a/drivers/usb/gadget/serial.c b/drivers/usb/gadget/serial.c index 9cd98e73dc1d..ce4d2e09633d 100644 --- a/drivers/usb/gadget/serial.c +++ b/drivers/usb/gadget/serial.c | |||
| @@ -1691,14 +1691,12 @@ static int gs_setup_class(struct usb_gadget *gadget, | |||
| 1691 | 1691 | ||
| 1692 | switch (ctrl->bRequest) { | 1692 | switch (ctrl->bRequest) { |
| 1693 | case USB_CDC_REQ_SET_LINE_CODING: | 1693 | case USB_CDC_REQ_SET_LINE_CODING: |
| 1694 | ret = min(wLength, | 1694 | /* FIXME Submit req to read the data; have its completion |
| 1695 | (u16)sizeof(struct usb_cdc_line_coding)); | 1695 | * handler copy that data to port->port_line_coding (iff |
| 1696 | if (port) { | 1696 | * it's valid) and maybe pass it on. Until then, fail. |
| 1697 | spin_lock(&port->port_lock); | 1697 | */ |
| 1698 | memcpy(&port->port_line_coding, req->buf, ret); | 1698 | printk(KERN_WARNING "gs_setup: set_line_coding " |
| 1699 | spin_unlock(&port->port_lock); | 1699 | "unuspported\n"); |
| 1700 | } | ||
| 1701 | ret = 0; | ||
| 1702 | break; | 1700 | break; |
| 1703 | 1701 | ||
| 1704 | case USB_CDC_REQ_GET_LINE_CODING: | 1702 | case USB_CDC_REQ_GET_LINE_CODING: |
| @@ -1713,11 +1711,18 @@ static int gs_setup_class(struct usb_gadget *gadget, | |||
| 1713 | break; | 1711 | break; |
| 1714 | 1712 | ||
| 1715 | case USB_CDC_REQ_SET_CONTROL_LINE_STATE: | 1713 | case USB_CDC_REQ_SET_CONTROL_LINE_STATE: |
| 1716 | ret = 0; | 1714 | /* FIXME Submit req to read the data; have its completion |
| 1715 | * handler use that to set the state (iff it's valid) and | ||
| 1716 | * maybe pass it on. Until then, fail. | ||
| 1717 | */ | ||
| 1718 | printk(KERN_WARNING "gs_setup: set_control_line_state " | ||
| 1719 | "unuspported\n"); | ||
| 1717 | break; | 1720 | break; |
| 1718 | 1721 | ||
| 1719 | default: | 1722 | default: |
| 1720 | printk(KERN_ERR "gs_setup: unknown class request, type=%02x, request=%02x, value=%04x, index=%04x, length=%d\n", | 1723 | printk(KERN_ERR "gs_setup: unknown class request, " |
| 1724 | "type=%02x, request=%02x, value=%04x, " | ||
| 1725 | "index=%04x, length=%d\n", | ||
| 1721 | ctrl->bRequestType, ctrl->bRequest, | 1726 | ctrl->bRequestType, ctrl->bRequest, |
| 1722 | wValue, wIndex, wLength); | 1727 | wValue, wIndex, wLength); |
| 1723 | break; | 1728 | break; |
diff --git a/drivers/usb/misc/sisusbvga/sisusb.c b/drivers/usb/misc/sisusbvga/sisusb.c index 9f37ba44c132..b64ca91d9b02 100644 --- a/drivers/usb/misc/sisusbvga/sisusb.c +++ b/drivers/usb/misc/sisusbvga/sisusb.c | |||
| @@ -3404,6 +3404,7 @@ static void sisusb_disconnect(struct usb_interface *intf) | |||
| 3404 | } | 3404 | } |
| 3405 | 3405 | ||
| 3406 | static struct usb_device_id sisusb_table [] = { | 3406 | static struct usb_device_id sisusb_table [] = { |
| 3407 | { USB_DEVICE(0x0711, 0x0550) }, | ||
| 3407 | { USB_DEVICE(0x0711, 0x0900) }, | 3408 | { USB_DEVICE(0x0711, 0x0900) }, |
| 3408 | { USB_DEVICE(0x0711, 0x0901) }, | 3409 | { USB_DEVICE(0x0711, 0x0901) }, |
| 3409 | { USB_DEVICE(0x0711, 0x0902) }, | 3410 | { USB_DEVICE(0x0711, 0x0902) }, |
diff --git a/drivers/usb/serial/bus.c b/drivers/usb/serial/bus.c index c08a38402b93..a47a24f8820d 100644 --- a/drivers/usb/serial/bus.c +++ b/drivers/usb/serial/bus.c | |||
| @@ -138,7 +138,7 @@ static void free_dynids(struct usb_serial_driver *drv) | |||
| 138 | static struct driver_attribute drv_attrs[] = { | 138 | static struct driver_attribute drv_attrs[] = { |
| 139 | __ATTR_NULL, | 139 | __ATTR_NULL, |
| 140 | }; | 140 | }; |
| 141 | static inline void free_dynids(struct usb_driver *drv) | 141 | static inline void free_dynids(struct usb_serial_driver *drv) |
| 142 | { | 142 | { |
| 143 | } | 143 | } |
| 144 | #endif | 144 | #endif |
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c index 1370c423d7c2..2d045857b181 100644 --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c | |||
| @@ -568,6 +568,7 @@ static struct usb_device_id id_table_combined [] = { | |||
| 568 | { USB_DEVICE(ELEKTOR_VID, ELEKTOR_FT323R_PID) }, | 568 | { USB_DEVICE(ELEKTOR_VID, ELEKTOR_FT323R_PID) }, |
| 569 | { USB_DEVICE(TELLDUS_VID, TELLDUS_TELLSTICK_PID) }, | 569 | { USB_DEVICE(TELLDUS_VID, TELLDUS_TELLSTICK_PID) }, |
| 570 | { USB_DEVICE(FTDI_VID, FTDI_MAXSTREAM_PID) }, | 570 | { USB_DEVICE(FTDI_VID, FTDI_MAXSTREAM_PID) }, |
| 571 | { USB_DEVICE(TML_VID, TML_USB_SERIAL_PID) }, | ||
| 571 | { USB_DEVICE(OLIMEX_VID, OLIMEX_ARM_USB_OCD_PID), | 572 | { USB_DEVICE(OLIMEX_VID, OLIMEX_ARM_USB_OCD_PID), |
| 572 | .driver_info = (kernel_ulong_t)&ftdi_olimex_quirk }, | 573 | .driver_info = (kernel_ulong_t)&ftdi_olimex_quirk }, |
| 573 | { }, /* Optional parameter entry */ | 574 | { }, /* Optional parameter entry */ |
diff --git a/drivers/usb/serial/ftdi_sio.h b/drivers/usb/serial/ftdi_sio.h index c70e1de6389e..b57b90ae9f9d 100644 --- a/drivers/usb/serial/ftdi_sio.h +++ b/drivers/usb/serial/ftdi_sio.h | |||
| @@ -534,6 +534,14 @@ | |||
| 534 | #define OLIMEX_VID 0x15BA | 534 | #define OLIMEX_VID 0x15BA |
| 535 | #define OLIMEX_ARM_USB_OCD_PID 0x0003 | 535 | #define OLIMEX_ARM_USB_OCD_PID 0x0003 |
| 536 | 536 | ||
| 537 | |||
| 538 | /* | ||
| 539 | * The Mobility Lab (TML) | ||
| 540 | * Submitted by Pierre Castella | ||
| 541 | */ | ||
| 542 | #define TML_VID 0x1B91 /* Vendor ID */ | ||
| 543 | #define TML_USB_SERIAL_PID 0x0064 /* USB - Serial Converter */ | ||
| 544 | |||
| 537 | /* Commands */ | 545 | /* Commands */ |
| 538 | #define FTDI_SIO_RESET 0 /* Reset the port */ | 546 | #define FTDI_SIO_RESET 0 /* Reset the port */ |
| 539 | #define FTDI_SIO_MODEM_CTRL 1 /* Set the modem control register */ | 547 | #define FTDI_SIO_MODEM_CTRL 1 /* Set the modem control register */ |
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index 4cb3c165742b..a18659e0700c 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c | |||
| @@ -108,6 +108,7 @@ static int option_send_setup(struct usb_serial_port *port); | |||
| 108 | #define HUAWEI_VENDOR_ID 0x12D1 | 108 | #define HUAWEI_VENDOR_ID 0x12D1 |
| 109 | #define HUAWEI_PRODUCT_E600 0x1001 | 109 | #define HUAWEI_PRODUCT_E600 0x1001 |
| 110 | #define HUAWEI_PRODUCT_E220 0x1003 | 110 | #define HUAWEI_PRODUCT_E220 0x1003 |
| 111 | #define HUAWEI_PRODUCT_E220BIS 0x1004 | ||
| 111 | 112 | ||
| 112 | #define NOVATELWIRELESS_VENDOR_ID 0x1410 | 113 | #define NOVATELWIRELESS_VENDOR_ID 0x1410 |
| 113 | #define DELL_VENDOR_ID 0x413C | 114 | #define DELL_VENDOR_ID 0x413C |
| @@ -158,6 +159,7 @@ static struct usb_device_id option_ids[] = { | |||
| 158 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_KOI_NETWORK) }, | 159 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_KOI_NETWORK) }, |
| 159 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600) }, | 160 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600) }, |
| 160 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220) }, | 161 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220) }, |
| 162 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220BIS) }, | ||
| 161 | { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, 0x1100) }, /* Novatel Merlin XS620/S640 */ | 163 | { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, 0x1100) }, /* Novatel Merlin XS620/S640 */ |
| 162 | { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, 0x1110) }, /* Novatel Merlin S620 */ | 164 | { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, 0x1110) }, /* Novatel Merlin S620 */ |
| 163 | { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, 0x1120) }, /* Novatel Merlin EX720 */ | 165 | { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, 0x1120) }, /* Novatel Merlin EX720 */ |
| @@ -176,6 +178,7 @@ static struct usb_device_id option_ids[] = { | |||
| 176 | { USB_DEVICE(DELL_VENDOR_ID, 0x8117) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO ExpressCard == Novatel Merlin XV620 CDMA/EV-DO */ | 178 | { USB_DEVICE(DELL_VENDOR_ID, 0x8117) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO ExpressCard == Novatel Merlin XV620 CDMA/EV-DO */ |
| 177 | { USB_DEVICE(DELL_VENDOR_ID, 0x8118) }, /* Dell Wireless 5510 Mobile Broadband HSDPA ExpressCard == Novatel Merlin XU870 HSDPA/3G */ | 179 | { USB_DEVICE(DELL_VENDOR_ID, 0x8118) }, /* Dell Wireless 5510 Mobile Broadband HSDPA ExpressCard == Novatel Merlin XU870 HSDPA/3G */ |
| 178 | { USB_DEVICE(DELL_VENDOR_ID, 0x8128) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO Mini-Card == Novatel Expedite E720 CDMA/EV-DO */ | 180 | { USB_DEVICE(DELL_VENDOR_ID, 0x8128) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO Mini-Card == Novatel Expedite E720 CDMA/EV-DO */ |
| 181 | { USB_DEVICE(DELL_VENDOR_ID, 0x8137) }, /* Dell Wireless HSDPA 5520 */ | ||
| 179 | { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_E100A) }, | 182 | { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_E100A) }, |
| 180 | { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_500A) }, | 183 | { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_500A) }, |
| 181 | { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_C100_1) }, | 184 | { USB_DEVICE(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_C100_1) }, |
diff --git a/drivers/usb/serial/oti6858.c b/drivers/usb/serial/oti6858.c index 833ada47fc54..64f3f66a7a35 100644 --- a/drivers/usb/serial/oti6858.c +++ b/drivers/usb/serial/oti6858.c | |||
| @@ -817,21 +817,6 @@ static int oti6858_ioctl(struct usb_serial_port *port, struct file *file, | |||
| 817 | __FUNCTION__, port->number, cmd, arg); | 817 | __FUNCTION__, port->number, cmd, arg); |
| 818 | 818 | ||
| 819 | switch (cmd) { | 819 | switch (cmd) { |
| 820 | case TCGETS: | ||
| 821 | if (kernel_termios_to_user_termios((struct ktermios __user *)arg, | ||
| 822 | port->tty->termios)) | ||
| 823 | return -EFAULT; | ||
| 824 | return 0; | ||
| 825 | |||
| 826 | case TCSETS: | ||
| 827 | case TCSETSW: /* FIXME: this is not the same! */ | ||
| 828 | case TCSETSF: /* FIXME: this is not the same! */ | ||
| 829 | if (user_termios_to_kernel_termios(port->tty->termios, | ||
| 830 | (struct ktermios __user *)arg)) | ||
| 831 | return -EFAULT; | ||
| 832 | oti6858_set_termios(port, NULL); | ||
| 833 | return 0; | ||
| 834 | |||
| 835 | case TCFLSH: | 820 | case TCFLSH: |
| 836 | /* FIXME */ | 821 | /* FIXME */ |
| 837 | return 0; | 822 | return 0; |
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h index 2d92ce31018f..c6b78ba815ea 100644 --- a/drivers/usb/storage/unusual_devs.h +++ b/drivers/usb/storage/unusual_devs.h | |||
| @@ -348,6 +348,13 @@ UNUSUAL_DEV( 0x04b0, 0x0411, 0x0100, 0x0101, | |||
| 348 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 348 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
| 349 | US_FL_FIX_CAPACITY), | 349 | US_FL_FIX_CAPACITY), |
| 350 | 350 | ||
| 351 | /* Reported by Ortwin Glueck <odi@odi.ch> */ | ||
| 352 | UNUSUAL_DEV( 0x04b0, 0x0413, 0x0110, 0x0110, | ||
| 353 | "NIKON", | ||
| 354 | "NIKON DSC D40", | ||
| 355 | US_SC_DEVICE, US_PR_DEVICE, NULL, | ||
| 356 | US_FL_FIX_CAPACITY), | ||
| 357 | |||
| 351 | /* BENQ DC5330 | 358 | /* BENQ DC5330 |
| 352 | * Reported by Manuel Fombuena <mfombuena@ya.com> and | 359 | * Reported by Manuel Fombuena <mfombuena@ya.com> and |
| 353 | * Frank Copeland <fjc@thingy.apana.org.au> */ | 360 | * Frank Copeland <fjc@thingy.apana.org.au> */ |
| @@ -897,6 +904,22 @@ UNUSUAL_DEV( 0x069b, 0x3004, 0x0001, 0x0001, | |||
| 897 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 904 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
| 898 | US_FL_FIX_CAPACITY ), | 905 | US_FL_FIX_CAPACITY ), |
| 899 | 906 | ||
| 907 | /* Reported by Massimiliano Ghilardi <massimiliano.ghilardi@gmail.com> | ||
| 908 | * This USB MP3/AVI player device fails and disconnects if more than 128 | ||
| 909 | * sectors (64kB) are read/written in a single command, and may be present | ||
| 910 | * at least in the following products: | ||
| 911 | * "Magnex Digital Video Panel DVP 1800" | ||
| 912 | * "MP4 AIGO 4GB SLOT SD" | ||
| 913 | * "Teclast TL-C260 MP3" | ||
| 914 | * "i.Meizu PMP MP3/MP4" | ||
| 915 | * "Speed MV8 MP4 Audio Player" | ||
| 916 | */ | ||
| 917 | UNUSUAL_DEV( 0x071b, 0x3203, 0x0100, 0x0100, | ||
| 918 | "RockChip", | ||
| 919 | "ROCK MP3", | ||
| 920 | US_SC_DEVICE, US_PR_DEVICE, NULL, | ||
| 921 | US_FL_MAX_SECTORS_64), | ||
| 922 | |||
| 900 | /* Reported by Olivier Blondeau <zeitoun@gmail.com> */ | 923 | /* Reported by Olivier Blondeau <zeitoun@gmail.com> */ |
| 901 | UNUSUAL_DEV( 0x0727, 0x0306, 0x0100, 0x0100, | 924 | UNUSUAL_DEV( 0x0727, 0x0306, 0x0100, 0x0100, |
| 902 | "ATMEL", | 925 | "ATMEL", |
| @@ -1393,6 +1416,13 @@ UNUSUAL_DEV( 0x0fce, 0xe030, 0x0000, 0x0000, | |||
| 1393 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 1416 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
| 1394 | US_FL_FIX_CAPACITY | US_FL_IGNORE_RESIDUE ), | 1417 | US_FL_FIX_CAPACITY | US_FL_IGNORE_RESIDUE ), |
| 1395 | 1418 | ||
| 1419 | /* Reported by Ricardo Barberis <ricardo@dattatec.com> */ | ||
| 1420 | UNUSUAL_DEV( 0x0fce, 0xe092, 0x0000, 0x0000, | ||
| 1421 | "Sony Ericsson", | ||
| 1422 | "P1i", | ||
| 1423 | US_SC_DEVICE, US_PR_DEVICE, NULL, | ||
| 1424 | US_FL_IGNORE_RESIDUE ), | ||
| 1425 | |||
| 1396 | /* Reported by Emmanuel Vasilakis <evas@forthnet.gr> */ | 1426 | /* Reported by Emmanuel Vasilakis <evas@forthnet.gr> */ |
| 1397 | UNUSUAL_DEV( 0x0fce, 0xe031, 0x0000, 0x0000, | 1427 | UNUSUAL_DEV( 0x0fce, 0xe031, 0x0000, 0x0000, |
| 1398 | "Sony Ericsson", | 1428 | "Sony Ericsson", |
