dvb-cx23885-add-missing-subsystem-id-for-hauppauge-hvr1800-retail.patch
slab-fix-bootstrap-on-memoryless-node.patch
vm-audit-add-vm_dontexpand-to-mmap-for-drivers-that-need-it.patch
+usb-keyspan-fix-oops.patch
+usb-gadget-fix-fsl_usb2_udc-potential-oops.patch
+usb-cp2101-new-device-ids.patch
+usb-add-support-for-4348-5523-winchiphead-usb-rs-232-adapter.patch
+usb-sierra-add-support-for-aircard-881u.patch
+usb-adding-yc-cable-usb-serial-device-to-pl2303.patch
+usb-sierra-driver-add-devices.patch
+usb-ftdi_sio-enabling-multiple-elv-devices-adding-em1010pc.patch
+usb-ftdi-sio-patch-to-add-vendor-device-id-for-atk_16ic-ccd.patch
+usb-sierra-add-support-for-onda-h600-zte-mf330-datacard-to-usb-driver-for-sierra-wireless.patch
+usb-remove-duplicate-entry-in-option-driver-and-pl2303-driver-for-huawei-modem.patch
+usb-pl2303-add-support-for-ratoc-rex-usb60f.patch
+usb-ftdi-driver-add-support-for-optical-probe-device.patch
+usb-use-gfp_noio-in-reset-path.patch
+usb-variant-of-the-dell-wireless-5520-driver.patch
+usb-storage-add-unusual_dev-for-hp-r707.patch
+usb-fix-usbtest-halt-check-on-big-endian-systems.patch
+usb-handle-idvendor-of-0x0000.patch
+usb-fix-usb_serial_driver-structure-for-kobil-cardreader-driver.patch
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:21:20 2008
+From: Piotr Roszatycki <dexter@debian.org>
+Date: Fri, 1 Feb 2008 15:16:45 -0800
+Subject: USB: add support for 4348:5523 WinChipHead USB->RS 232 adapter
+To: linux-usb@vger.kernel.org
+Cc: Ingo Molnar <mingo@elte.hu>, Greg Kroah-Hartman <gregkh@suse.de>, stable <stable@kernel.org>, Piotr Roszatycki <dexter@debian.org>
+Message-ID: <1201907929-23721-4-git-send-email-gregkh@suse.de>
+
+
+From: Piotr Roszatycki <dexter@debian.org>
+
+add support for:
+
+ 4348:5523 WinChipHead USB->RS 232 adapter with Prolifec PL 2303 chipset
+
+[ mingo@elte.hu: merged it and nursed it upstream ]
+
+Signed-off-by: Ingo Molnar <mingo@elte.hu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/pl2303.c | 1 +
+ drivers/usb/serial/pl2303.h | 5 +++++
+ 2 files changed, 6 insertions(+)
+
+--- a/drivers/usb/serial/pl2303.c
++++ b/drivers/usb/serial/pl2303.c
+@@ -87,6 +87,7 @@ static struct usb_device_id id_table []
+ { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_ID) },
+ { USB_DEVICE(WS002IN_VENDOR_ID, WS002IN_PRODUCT_ID) },
+ { USB_DEVICE(COREGA_VENDOR_ID, COREGA_PRODUCT_ID) },
++ { USB_DEVICE(HL340_VENDOR_ID, HL340_PRODUCT_ID) },
+ { } /* Terminating entry */
+ };
+
+--- a/drivers/usb/serial/pl2303.h
++++ b/drivers/usb/serial/pl2303.h
+@@ -107,3 +107,8 @@
+ /* Corega CG-USBRS232R Serial Adapter */
+ #define COREGA_VENDOR_ID 0x07aa
+ #define COREGA_PRODUCT_ID 0x002a
++
++/* HL HL-340 (ID: 4348:5523) */
++#define HL340_VENDOR_ID 0x4348
++#define HL340_PRODUCT_ID 0x5523
++
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:21:31 2008
+From: Damien Stuart <dstuart@dstuart.org>
+Date: Fri, 1 Feb 2008 15:16:47 -0800
+Subject: USB: Adding YC Cable USB Serial device to pl2303
+To: linux-usb@vger.kernel.org
+Cc: Damien Stuart <dstuart@dstuart.org>, stable <stable@kernel.org>, Greg Kroah-Hartman <gregkh@suse.de>
+Message-ID: <1201907929-23721-6-git-send-email-gregkh@suse.de>
+
+
+From: Damien Stuart <dstuart@dstuart.org>
+
+This simply adds the "YC Cable" as a vendor and its pl2303-based
+USB<->Serial adapter as a product. This particular adapter is sold by
+Radio Shack. I've done limited testing on a few different systems with
+no issues.
+
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/pl2303.c | 1 +
+ drivers/usb/serial/pl2303.h | 3 +++
+ 2 files changed, 4 insertions(+)
+
+--- a/drivers/usb/serial/pl2303.c
++++ b/drivers/usb/serial/pl2303.c
+@@ -88,6 +88,7 @@ static struct usb_device_id id_table []
+ { USB_DEVICE(WS002IN_VENDOR_ID, WS002IN_PRODUCT_ID) },
+ { USB_DEVICE(COREGA_VENDOR_ID, COREGA_PRODUCT_ID) },
+ { USB_DEVICE(HL340_VENDOR_ID, HL340_PRODUCT_ID) },
++ { USB_DEVICE(YCCABLE_VENDOR_ID, YCCABLE_PRODUCT_ID) },
+ { } /* Terminating entry */
+ };
+
+--- a/drivers/usb/serial/pl2303.h
++++ b/drivers/usb/serial/pl2303.h
+@@ -112,3 +112,6 @@
+ #define HL340_VENDOR_ID 0x4348
+ #define HL340_PRODUCT_ID 0x5523
+
++/* Y.C. Cable U.S.A., Inc - USB to RS-232 */
++#define YCCABLE_VENDOR_ID 0x05ad
++#define YCCABLE_PRODUCT_ID 0x0fba
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:21:09 2008
+From: Craig Shelley <craig@microtron.org.uk>
+Date: Fri, 1 Feb 2008 15:16:44 -0800
+Subject: USB: CP2101 New Device IDs
+To: linux-usb@vger.kernel.org
+Cc: Craig Shelley <craig@microtron.org.uk>, stable <stable@kernel.org>, Greg Kroah-Hartman <gregkh@suse.de>
+Message-ID: <1201907929-23721-3-git-send-email-gregkh@suse.de>
+
+
+From: Craig Shelley <craig@microtron.org.uk>
+
+Six new device IDs for CP2101 driver.
+
+Signed-off-by: Craig Shelley <craig@microtron.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/cp2101.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/drivers/usb/serial/cp2101.c
++++ b/drivers/usb/serial/cp2101.c
+@@ -59,6 +59,7 @@ static struct usb_device_id id_table []
+ { USB_DEVICE(0x10A6, 0xAA26) }, /* Knock-off DCU-11 cable */
+ { USB_DEVICE(0x10AB, 0x10C5) }, /* Siemens MC60 Cable */
+ { USB_DEVICE(0x10B5, 0xAC70) }, /* Nokia CA-42 USB */
++ { USB_DEVICE(0x10C4, 0x800A) }, /* SPORTident BSM7-D-USB main station */
+ { USB_DEVICE(0x10C4, 0x803B) }, /* Pololu USB-serial converter */
+ { USB_DEVICE(0x10C4, 0x8053) }, /* Enfora EDG1228 */
+ { USB_DEVICE(0x10C4, 0x8066) }, /* Argussoft In-System Programmer */
+@@ -76,8 +77,13 @@ static struct usb_device_id id_table []
+ { USB_DEVICE(0x10C4, 0x8218) }, /* Lipowsky Industrie Elektronik GmbH, HARP-1 */
+ { USB_DEVICE(0x10C4, 0xEA60) }, /* Silicon Labs factory default */
+ { USB_DEVICE(0x10C4, 0xEA61) }, /* Silicon Labs factory default */
++ { USB_DEVICE(0x10C4, 0xF001) }, /* Elan Digital Systems USBscope50 */
++ { USB_DEVICE(0x10C4, 0xF002) }, /* Elan Digital Systems USBwave12 */
++ { USB_DEVICE(0x10C4, 0xF003) }, /* Elan Digital Systems USBpulse100 */
++ { USB_DEVICE(0x10C4, 0xF004) }, /* Elan Digital Systems USBcount50 */
+ { USB_DEVICE(0x10C5, 0xEA61) }, /* Silicon Labs MobiData GPRS USB Modem */
+ { USB_DEVICE(0x13AD, 0x9999) }, /* Baltech card reader */
++ { USB_DEVICE(0x166A, 0x0303) }, /* Clipsal 5500PCU C-Bus USB interface */
+ { USB_DEVICE(0x16D6, 0x0001) }, /* Jablotron serial interface */
+ { } /* Terminating Entry */
+ };
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:31:02 2008
+From: Stefan Bader <stefan.bader@canonical.com>
+Date: Fri, 1 Feb 2008 15:18:38 -0800
+Subject: USB: Fix usb_serial_driver structure for Kobil cardreader driver.
+To: linux-usb@vger.kernel.org
+Cc: Alan Cox <alan@redhat.com>, Greg Kroah-Hartman <gregkh@suse.de>, stable <stable@kernel.org>, Stefan Bader <stefan.bader@canonical.com>
+Message-ID: <1201907929-23721-117-git-send-email-gregkh@suse.de>
+
+
+From: Stefan Bader <stefan.bader@canonical.com>
+
+The device setup did miss to initialize the num_interrupt_out field, thus
+failing to successfully complete the probe function.
+
+Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
+Cc: Alan Cox <alan@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/kobil_sct.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/serial/kobil_sct.c
++++ b/drivers/usb/serial/kobil_sct.c
+@@ -114,6 +114,7 @@ static struct usb_serial_driver kobil_de
+ .usb_driver = &kobil_driver,
+ .id_table = id_table,
+ .num_interrupt_in = NUM_DONT_CARE,
++ .num_interrupt_out = NUM_DONT_CARE,
+ .num_bulk_in = 0,
+ .num_bulk_out = 0,
+ .num_ports = 1,
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:23:18 2008
+From: Jan Andersson <jan@gaisler.com>
+Date: Fri, 1 Feb 2008 15:16:59 -0800
+Subject: USB: fix usbtest halt check on big endian systems
+To: linux-usb@vger.kernel.org
+Cc: Jan Andersson <jan@gaisler.com>, Greg Kroah-Hartman <gregkh@suse.de>, stable <stable@kernel.org>
+Message-ID: <1201907929-23721-18-git-send-email-gregkh@suse.de>
+
+
+From: Jan Andersson <jan@gaisler.com>
+
+usbtest did not swap the received status information when checking for
+a non-zero value and failed to discover halted endpoints on big endian
+systems.
+
+Signed-off-by: Jan Andersson <jan@gaisler.com>
+Acked-by: David Brownell <david-b@pacbell.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/misc/usbtest.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/misc/usbtest.c
++++ b/drivers/usb/misc/usbtest.c
+@@ -1151,6 +1151,7 @@ static int verify_halted (int ep, struct
+ dbg ("ep %02x couldn't get halt status, %d", ep, retval);
+ return retval;
+ }
++ le16_to_cpus(&status);
+ if (status != 1) {
+ dbg ("ep %02x bogus status: %04x != 1", ep, status);
+ return -EINVAL;
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:22:37 2008
+From: Ed Beroset <beroset@mindspring.com>
+Date: Fri, 1 Feb 2008 15:16:55 -0800
+Subject: USB: ftdi driver - add support for optical probe device
+To: linux-usb@vger.kernel.org
+Cc: Greg Kroah-Hartman <gregkh@suse.de>, stable <stable@kernel.org>, Ed Beroset <beroset@mindspring.com>
+Message-ID: <1201907929-23721-14-git-send-email-gregkh@suse.de>
+
+
+From: Ed Beroset <beroset@mindspring.com>
+
+Added support for the Elster Unicom III Optical Probe.
+The device ID has already been added to the usb.ids file.
+
+Signed-off-by: Ed Beroset <beroset@mindspring.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/ftdi_sio.c | 1 +
+ drivers/usb/serial/ftdi_sio.h | 2 ++
+ 2 files changed, 3 insertions(+)
+
+--- 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_com
+ { USB_DEVICE(TELLDUS_VID, TELLDUS_TELLSTICK_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_MAXSTREAM_PID) },
+ { USB_DEVICE(TML_VID, TML_USB_SERIAL_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELSTER_UNICOM_PID) },
+ { USB_DEVICE(OLIMEX_VID, OLIMEX_ARM_USB_OCD_PID),
+ .driver_info = (kernel_ulong_t)&ftdi_olimex_quirk },
+ { }, /* Optional parameter entry */
+--- a/drivers/usb/serial/ftdi_sio.h
++++ b/drivers/usb/serial/ftdi_sio.h
+@@ -536,6 +536,8 @@
+ #define OLIMEX_VID 0x15BA
+ #define OLIMEX_ARM_USB_OCD_PID 0x0003
+
++/* www.elsterelectricity.com Elster Unicom III Optical Probe */
++#define FTDI_ELSTER_UNICOM_PID 0xE700 /* Product Id */
+
+ /*
+ * The Mobility Lab (TML)
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:22:04 2008
+From: Franco Lanza <nextime@nexlab.it>
+Date: Fri, 1 Feb 2008 15:16:51 -0800
+Subject: USB: ftdi-sio: Patch to add vendor/device id for ATK_16IC CCD
+To: linux-usb@vger.kernel.org
+Cc: Greg Kroah-Hartman <gregkh@suse.de>, Franco Lanza <nextime@nexlab.it>, stable <stable@kernel.org>
+Message-ID: <1201907929-23721-10-git-send-email-gregkh@suse.de>
+
+
+From: Franco Lanza <nextime@nexlab.it>
+
+little patches only to add vendor/device id of ATK_16IC CCD cam for
+astronomy.
+
+From: Franco Lanza <nextime@nexlab.it>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/ftdi_sio.c | 1 +
+ drivers/usb/serial/ftdi_sio.h | 1 +
+ 2 files changed, 2 insertions(+)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -543,6 +543,7 @@ static struct usb_device_id id_table_com
+ { USB_DEVICE(FTDI_VID, FTDI_ATIK_ATK16C_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_ATIK_ATK16HR_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_ATIK_ATK16HRC_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ATIK_ATK16IC_PID) },
+ { USB_DEVICE(KOBIL_VID, KOBIL_CONV_B1_PID) },
+ { USB_DEVICE(KOBIL_VID, KOBIL_CONV_KAAN_PID) },
+ { USB_DEVICE(POSIFLEX_VID, POSIFLEX_PP7000_PID) },
+--- a/drivers/usb/serial/ftdi_sio.h
++++ b/drivers/usb/serial/ftdi_sio.h
+@@ -279,6 +279,7 @@
+ #define FTDI_ATIK_ATK16C_PID 0xDF32 /* ATIK ATK-16C Colour Camera */
+ #define FTDI_ATIK_ATK16HR_PID 0xDF31 /* ATIK ATK-16HR Grayscale Camera */
+ #define FTDI_ATIK_ATK16HRC_PID 0xDF33 /* ATIK ATK-16HRC Colour Camera */
++#define FTDI_ATIK_ATK16IC_PID 0xDF35 /* ATIK ATK-16IC Grayscale Camera */
+
+ /*
+ * Protego product ids
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:21:53 2008
+From: Peter Stark <Peter.Stark@t-online.de>
+Date: Fri, 1 Feb 2008 15:16:50 -0800
+Subject: USB: ftdi_sio - enabling multiple ELV devices, adding EM1010PC
+To: linux-usb@vger.kernel.org
+Cc: Peter Stark <peter.stark@t-online.de>, Greg Kroah-Hartman <gregkh@suse.de>, stable <stable@kernel.org>, Peter Stark <Peter.Stark@t-online.de>
+Message-ID: <1201907929-23721-9-git-send-email-gregkh@suse.de>
+
+
+From: Peter Stark <Peter.Stark@t-online.de>
+
+I work with a group of people on a free home automation tool called
+FHEM. Some of the users own more than one USB-serial device by ELV. The
+ftdi_sio driver has most of the ELV devices disabled by default and
+needs to be re-enabled every time you get a new kernel. Additionally a
+new device (EM 1010 PC - enegry monitor) is missing in the list.
+Currently our users have to follow the instructions we provide at
+http://www.koeniglich.de/fhem/linux.html ... However, to some users it
+is too complicated to compile their own kernel module.
+
+We are aware that you can specify one additional device using the
+vendor/product option of the module. But lot's of users own more than
+one device.
+
+Signed-off-by: Peter Stark <peter.stark@t-online.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/ftdi_sio.c | 44 ++++++++++++++++++++----------------------
+ drivers/usb/serial/ftdi_sio.h | 1
+ 2 files changed, 22 insertions(+), 23 deletions(-)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -471,30 +471,28 @@ static struct usb_device_id id_table_com
+ { USB_DEVICE(FTDI_VID, FTDI_IBS_PEDO_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_IBS_PROD_PID) },
+ /*
+- * These will probably use user-space drivers. Uncomment them if
+- * you need them or use the user-specified vendor/product module
+- * parameters (see ftdi_sio.h for the numbers). Make a fuss if
+- * you think the driver should recognize any of them by default.
++ * Due to many user requests for multiple ELV devices we enable
++ * them by default.
+ */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_CLI7000_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_PPS7330_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_TFM100_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_UDF77_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_UIO88_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_UAD8_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_UDA7_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_USI2_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_T1100_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_PCD200_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_ULA200_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_CSI8_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_EM1000DL_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_PCK100_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_RFP500_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_FS20SIG_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_WS300PC_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_FHZ1300PC_PID) }, */
+- /* { USB_DEVICE(FTDI_VID, FTDI_ELV_WS500_PID) }, */
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_CLI7000_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_PPS7330_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_TFM100_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_UDF77_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_UIO88_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_UAD8_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_UDA7_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_USI2_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_T1100_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_PCD200_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_ULA200_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_CSI8_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_EM1000DL_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_PCK100_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_RFP500_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_FS20SIG_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_WS300PC_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_FHZ1300PC_PID) },
++ { USB_DEVICE(FTDI_VID, FTDI_ELV_WS500_PID) },
+ { USB_DEVICE(FTDI_VID, LINX_SDMUSBQSS_PID) },
+ { USB_DEVICE(FTDI_VID, LINX_MASTERDEVEL2_PID) },
+ { USB_DEVICE(FTDI_VID, LINX_FUTURE_0_PID) },
+--- a/drivers/usb/serial/ftdi_sio.h
++++ b/drivers/usb/serial/ftdi_sio.h
+@@ -245,6 +245,7 @@
+ #define FTDI_ELV_WS300PC_PID 0xE0F6 /* PC-Wetterstation (WS 300 PC) */
+ #define FTDI_ELV_FHZ1300PC_PID 0xE0E8 /* FHZ 1300 PC */
+ #define FTDI_ELV_WS500_PID 0xE0E9 /* PC-Wetterstation (WS 500) */
++#define FTDI_ELV_EM1010PC_PID 0xE0EF /* Engery monitor EM 1010 PC */
+
+ /*
+ * Definitions for ID TECH (www.idt-net.com) devices
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:20:59 2008
+From: Li Yang <leoli@freescale.com>
+Date: Fri, 1 Feb 2008 15:16:43 -0800
+Subject: usb gadget: fix fsl_usb2_udc potential OOPS
+To: linux-usb@vger.kernel.org
+Cc: David Brownell <dbrownell@users.sourceforge.net>, Li Yang <leoli@freescale.com>, stable <stable@kernel.org>, Greg Kroah-Hartman <gregkh@suse.de>
+Message-ID: <1201907929-23721-2-git-send-email-gregkh@suse.de>
+
+
+From: Li Yang <leoli@freescale.com>
+
+For fsl_usb2_udc driver, ep0 also has a descriptor. Current code is
+misleading and contains a logical mistake. Here is the patch to fix it.
+
+ http://bugzilla.kernel.org/show_bug.cgi?id=9595
+
+Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/gadget/fsl_usb2_udc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/usb/gadget/fsl_usb2_udc.c
++++ b/drivers/usb/gadget/fsl_usb2_udc.c
+@@ -776,7 +776,7 @@ fsl_ep_queue(struct usb_ep *_ep, struct
+ VDBG("%s, bad params\n", __FUNCTION__);
+ return -EINVAL;
+ }
+- if (!_ep || (!ep->desc && ep_index(ep))) {
++ if (unlikely(!_ep || !ep->desc)) {
+ VDBG("%s, bad ep\n", __FUNCTION__);
+ return -EINVAL;
+ }
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:23:24 2008
+From: Greg Kroah-Hartman <gregkh@suse.de>
+Date: Fri, 1 Feb 2008 15:17:00 -0800
+Subject: USB: handle idVendor of 0x0000
+To: linux-usb@vger.kernel.org
+Cc: Jon Masters <jcm@redhat.com>, Greg Kroah-Hartman <gregkh@suse.de>, Janusz <janumix@poczta.fm>, stable <stable@kernel.org>
+Message-ID: <1201907929-23721-19-git-send-email-gregkh@suse.de>
+
+From: Greg Kroah-Hartman <gregkh@suse.de>
+
+Some crazy devices in the wild have a vendor id of 0x0000. If we try to
+add a module alias with this id, we just can't do it due to a check in
+the file2alias.c file. Change the test to verify that both the vendor
+and product ids are 0x0000 to show a real "blank" module alias.
+
+Note, the module-init-tools package also needs to be changed to properly
+generate the depmod tables.
+
+Cc: Janusz <janumix@poczta.fm>
+Cc: Jon Masters <jcm@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/core/driver.c | 4 ++--
+ scripts/mod/file2alias.c | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/usb/core/driver.c
++++ b/drivers/usb/core/driver.c
+@@ -534,8 +534,8 @@ const struct usb_device_id *usb_match_id
+ id->driver_info is the way to create an entry that
+ indicates that the driver want to examine every
+ device and interface. */
+- for (; id->idVendor || id->bDeviceClass || id->bInterfaceClass ||
+- id->driver_info; id++) {
++ for (; id->idVendor || id->idProduct || id->bDeviceClass ||
++ id->bInterfaceClass || id->driver_info; id++) {
+ if (usb_match_one_id(interface, id))
+ return id;
+ }
+--- a/scripts/mod/file2alias.c
++++ b/scripts/mod/file2alias.c
+@@ -155,7 +155,7 @@ static void do_usb_entry_multi(struct us
+ * Some modules (visor) have empty slots as placeholder for
+ * run-time specification that results in catch-all alias
+ */
+- if (!(id->idVendor | id->bDeviceClass | id->bInterfaceClass))
++ if (!(id->idVendor | id->idProduct | id->bDeviceClass | id->bInterfaceClass))
+ return;
+
+ /* Convert numeric bcdDevice range into fnmatch-able pattern(s) */
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:20:49 2008
+From: Alan Cox <alan@lxorguk.ukuu.org.uk>
+Date: Fri, 1 Feb 2008 15:16:42 -0800
+Subject: USB: keyspan: Fix oops
+To: linux-usb@vger.kernel.org
+Cc: Alan Cox <alan@redhat.com>, Greg Kroah-Hartman <gregkh@suse.de>, stable <stable@kernel.org>, Alan Cox <alan@lxorguk.ukuu.org.uk>
+Message-ID: <1201907929-23721-1-git-send-email-gregkh@suse.de>
+
+
+From: Alan Cox <alan@lxorguk.ukuu.org.uk>
+
+If we get a data URB back from the hardware after we have put the tty to
+bed we go kaboom. Fortunately all we need to do is process the URB
+without trying to ram its contents down the throat of an ex-tty.
+
+Signed-off-by: Alan Cox <alan@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/keyspan.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/usb/serial/keyspan.c
++++ b/drivers/usb/serial/keyspan.c
+@@ -838,7 +838,7 @@ static void usa49_indat_callback(struct
+
+ port = (struct usb_serial_port *) urb->context;
+ tty = port->tty;
+- if (urb->actual_length) {
++ if (tty && urb->actual_length) {
+ /* 0x80 bit is error flag */
+ if ((data[0] & 0x80) == 0) {
+ /* no error on any byte */
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:22:26 2008
+From: Akira Tsukamoto <akirat@rd.scei.sony.co.jp>
+Date: Fri, 1 Feb 2008 15:16:54 -0800
+Subject: USB: pl2303: add support for RATOC REX-USB60F
+To: linux-usb@vger.kernel.org
+Cc: Akira Tsukamoto <akirat@rd.scei.sony.co.jp>, Greg Kroah-Hartman <gregkh@suse.de>, stable <stable@kernel.org>
+Message-ID: <1201907929-23721-13-git-send-email-gregkh@suse.de>
+
+
+From: Akira Tsukamoto <akirat@rd.scei.sony.co.jp>
+
+pl2303: add support for RATOC REX-USB60F
+
+This patch adds support for RATOC REX-USB60F Serial Adapters,
+which is widely used in Japan recently.
+
+Signed-off-by: Akira Tsukamoto <akirat@rd.scei.sony.co.jp>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/pl2303.c | 1 +
+ drivers/usb/serial/pl2303.h | 1 +
+ 2 files changed, 2 insertions(+)
+
+--- a/drivers/usb/serial/pl2303.c
++++ b/drivers/usb/serial/pl2303.c
+@@ -65,6 +65,7 @@ static struct usb_device_id id_table []
+ { USB_DEVICE(ITEGNO_VENDOR_ID, ITEGNO_PRODUCT_ID_2080) },
+ { USB_DEVICE(MA620_VENDOR_ID, MA620_PRODUCT_ID) },
+ { USB_DEVICE(RATOC_VENDOR_ID, RATOC_PRODUCT_ID) },
++ { USB_DEVICE(RATOC_VENDOR_ID, RATOC_PRODUCT_ID_USB60F) },
+ { USB_DEVICE(TRIPP_VENDOR_ID, TRIPP_PRODUCT_ID) },
+ { USB_DEVICE(RADIOSHACK_VENDOR_ID, RADIOSHACK_PRODUCT_ID) },
+ { USB_DEVICE(DCU10_VENDOR_ID, DCU10_PRODUCT_ID) },
+--- a/drivers/usb/serial/pl2303.h
++++ b/drivers/usb/serial/pl2303.h
+@@ -35,6 +35,7 @@
+
+ #define RATOC_VENDOR_ID 0x0584
+ #define RATOC_PRODUCT_ID 0xb000
++#define RATOC_PRODUCT_ID_USB60F 0xb020
+
+ #define TRIPP_VENDOR_ID 0x2478
+ #define TRIPP_PRODUCT_ID 0x2008
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:22:15 2008
+From: Daniel Kozák <kozzi11@gmail.com>
+Date: Fri, 1 Feb 2008 15:16:53 -0800
+Subject: USB: remove duplicate entry in Option driver and Pl2303 driver for Huawei modem
+To: linux-usb@vger.kernel.org
+Cc: Greg Kroah-Hartman <gregkh@suse.de>, stable <stable@kernel.org>, Daniel Kozák <kozzi11@gmail.com>
+Message-ID: <1201907929-23721-12-git-send-email-gregkh@suse.de>
+
+
+From: Daniel Kozák <kozzi11@gmail.com>
+
+Remove entry for Huawei E620 UMTS/HSDPA card (ID: 12d1:1001) in pl2303 driver
+Option driver is use instead
+
+Signed-off-by: Daniel Kozák <kozzi11@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/pl2303.c | 1 -
+ drivers/usb/serial/pl2303.h | 4 ----
+ 2 files changed, 5 deletions(-)
+
+--- a/drivers/usb/serial/pl2303.c
++++ b/drivers/usb/serial/pl2303.c
+@@ -84,7 +84,6 @@ static struct usb_device_id id_table []
+ { USB_DEVICE(DATAPILOT_U2_VENDOR_ID, DATAPILOT_U2_PRODUCT_ID) },
+ { USB_DEVICE(BELKIN_VENDOR_ID, BELKIN_PRODUCT_ID) },
+ { USB_DEVICE(ALCOR_VENDOR_ID, ALCOR_PRODUCT_ID) },
+- { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_ID) },
+ { USB_DEVICE(WS002IN_VENDOR_ID, WS002IN_PRODUCT_ID) },
+ { USB_DEVICE(COREGA_VENDOR_ID, COREGA_PRODUCT_ID) },
+ { USB_DEVICE(HL340_VENDOR_ID, HL340_PRODUCT_ID) },
+--- a/drivers/usb/serial/pl2303.h
++++ b/drivers/usb/serial/pl2303.h
+@@ -96,10 +96,6 @@
+ #define ALCOR_VENDOR_ID 0x058F
+ #define ALCOR_PRODUCT_ID 0x9720
+
+-/* Huawei E620 UMTS/HSDPA card (ID: 12d1:1001) */
+-#define HUAWEI_VENDOR_ID 0x12d1
+-#define HUAWEI_PRODUCT_ID 0x1001
+-
+ /* Willcom WS002IN Data Driver (by NetIndex Inc.) */
+ #define WS002IN_VENDOR_ID 0x11f6
+ #define WS002IN_PRODUCT_ID 0x2001
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:21:31 2008
+From: Jessica L. Blank <j@twu.net>
+Date: Fri, 1 Feb 2008 15:16:46 -0800
+Subject: USB: Sierra - Add support for Aircard 881U
+To: linux-usb@vger.kernel.org
+Cc: "Jessica L. Blank" <j@twu.net>, Greg Kroah-Hartman <gregkh@suse.de>, stable <stable@kernel.org>
+Message-ID: <1201907929-23721-5-git-send-email-gregkh@suse.de>
+
+
+From: Jessica L. Blank <j@twu.net>
+
+Adds the appropriate vendor and device IDs for the AirCard 881U to
+sierra.c. (This device is often rebadged by AT&T as the USBConnect 881).
+
+Signed-off-by: Jessica L Blank <j@twu.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/sierra.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/usb/serial/sierra.c
++++ b/drivers/usb/serial/sierra.c
+@@ -117,6 +117,7 @@ static struct usb_device_id id_table []
+ { USB_DEVICE(0x1199, 0x6851) }, /* Sierra Wireless AirCard 881 */
+ { USB_DEVICE(0x1199, 0x6852) }, /* Sierra Wireless AirCard 880 E */
+ { USB_DEVICE(0x1199, 0x6853) }, /* Sierra Wireless AirCard 881 E */
++ { USB_DEVICE(0x1199, 0x6856) }, /* Sierra Wireless AirCard 881 U */
+
+ { USB_DEVICE(0x1199, 0x0112), .driver_info = DEVICE_1_PORT }, /* Sierra Wireless AirCard 580 */
+ { USB_DEVICE(0x0F3D, 0x0112), .driver_info = DEVICE_1_PORT }, /* Airprime/Sierra PC 5220 */
+@@ -155,6 +156,7 @@ static struct usb_device_id id_table_3po
+ { USB_DEVICE(0x1199, 0x6851) }, /* Sierra Wireless AirCard 881 */
+ { USB_DEVICE(0x1199, 0x6852) }, /* Sierra Wireless AirCard 880E */
+ { USB_DEVICE(0x1199, 0x6853) }, /* Sierra Wireless AirCard 881E */
++ { USB_DEVICE(0x1199, 0x6856) }, /* Sierra Wireless AirCard 881U */
+ { }
+ };
+
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:22:07 2008
+From: Bruno Redondi <bruno.redondi@altarisoluzione.com>
+Date: Fri, 1 Feb 2008 15:16:52 -0800
+Subject: USB: sierra: add support for Onda H600/Zte MF330 datacard to USB Driver for Sierra Wireless
+To: linux-usb@vger.kernel.org
+Cc: Greg Kroah-Hartman <gregkh@suse.de>, stable <stable@kernel.org>, Bruno Redondi <bruno.redondi@altarisoluzione.com>
+Message-ID: <1201907929-23721-11-git-send-email-gregkh@suse.de>
+
+
+From: Bruno Redondi <bruno.redondi@altarisoluzione.com>
+
+Added support for Onda H600/Zte MF330 GPRS/UMTS/HSDPA datacard
+
+Signed-off-by: Bruno Redondi <bruno.redondi@altarisoluzione.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/sierra.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/usb/serial/sierra.c
++++ b/drivers/usb/serial/sierra.c
+@@ -126,6 +126,7 @@ static struct usb_device_id id_table []
+
+ { USB_DEVICE(0x1199, 0x0112), .driver_info = DEVICE_1_PORT }, /* Sierra Wireless AirCard 580 */
+ { USB_DEVICE(0x0F3D, 0x0112), .driver_info = DEVICE_1_PORT }, /* Airprime/Sierra PC 5220 */
++ { USB_DEVICE(0x05C6, 0x6613), .driver_info = DEVICE_1_PORT }, /* Onda H600/ZTE MF330 */
+
+ { USB_DEVICE(0x1199, 0x0FFF), .driver_info = DEVICE_INSTALLER},
+ { }
+@@ -135,6 +136,7 @@ MODULE_DEVICE_TABLE(usb, id_table);
+ static struct usb_device_id id_table_1port [] = {
+ { USB_DEVICE(0x1199, 0x0112) }, /* Sierra Wireless AirCard 580 */
+ { USB_DEVICE(0x0F3D, 0x0112) }, /* AirPrime/Sierra PC 5220 */
++ { USB_DEVICE(0x05C6, 0x6613) }, /* Onda H600/ZTE MF330 */
+ { }
+ };
+
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:21:42 2008
+From: Kevin Lloyd <linux@sierrawireless.com>
+Date: Fri, 1 Feb 2008 15:16:48 -0800
+Subject: USB: sierra driver - add devices
+To: linux-usb@vger.kernel.org
+Cc: Kevin Lloyd <linux@sierrawireless.com>, Greg Kroah-Hartman <gregkh@suse.de>, stable <stable@kernel.org>
+Message-ID: <1201907929-23721-7-git-send-email-gregkh@suse.de>
+
+
+From: Kevin Lloyd <linux@sierrawireless.com>
+
+The following improvements were made:
+ - Added new product support: MC5725, AC 880 U, MP 3G (UMTS & CDMA)
+
+Signed-off-by: Kevin Lloyd <linux@sierrawireless.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/sierra.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+--- a/drivers/usb/serial/sierra.c
++++ b/drivers/usb/serial/sierra.c
+@@ -104,6 +104,7 @@ static struct usb_device_id id_table []
+ { USB_DEVICE(0x1199, 0x0019) }, /* Sierra Wireless AirCard 595 */
+ { USB_DEVICE(0x1199, 0x0021) }, /* Sierra Wireless AirCard 597E */
+ { USB_DEVICE(0x1199, 0x0120) }, /* Sierra Wireless USB Dongle 595U */
++ { USB_DEVICE(0x1199, 0x0023) }, /* Sierra Wireless AirCard */
+
+ { USB_DEVICE(0x1199, 0x6802) }, /* Sierra Wireless MC8755 */
+ { USB_DEVICE(0x1199, 0x6804) }, /* Sierra Wireless MC8755 */
+@@ -117,8 +118,12 @@ static struct usb_device_id id_table []
+ { USB_DEVICE(0x1199, 0x6851) }, /* Sierra Wireless AirCard 881 */
+ { USB_DEVICE(0x1199, 0x6852) }, /* Sierra Wireless AirCard 880 E */
+ { USB_DEVICE(0x1199, 0x6853) }, /* Sierra Wireless AirCard 881 E */
++ { USB_DEVICE(0x1199, 0x6855) }, /* Sierra Wireless AirCard 880 U */
+ { USB_DEVICE(0x1199, 0x6856) }, /* Sierra Wireless AirCard 881 U */
+
++ { USB_DEVICE(0x1199, 0x6468) }, /* Sierra Wireless MP3G - EVDO */
++ { USB_DEVICE(0x1199, 0x6469) }, /* Sierra Wireless MP3G - UMTS/HSPA */
++
+ { USB_DEVICE(0x1199, 0x0112), .driver_info = DEVICE_1_PORT }, /* Sierra Wireless AirCard 580 */
+ { USB_DEVICE(0x0F3D, 0x0112), .driver_info = DEVICE_1_PORT }, /* Airprime/Sierra PC 5220 */
+
+@@ -143,6 +148,7 @@ static struct usb_device_id id_table_3po
+ { USB_DEVICE(0x1199, 0x0019) }, /* Sierra Wireless AirCard 595 */
+ { USB_DEVICE(0x1199, 0x0021) }, /* Sierra Wireless AirCard 597E */
+ { USB_DEVICE(0x1199, 0x0120) }, /* Sierra Wireless USB Dongle 595U*/
++ { USB_DEVICE(0x1199, 0x0023) }, /* Sierra Wireless AirCard */
+
+ { USB_DEVICE(0x1199, 0x6802) }, /* Sierra Wireless MC8755 */
+ { USB_DEVICE(0x1199, 0x6804) }, /* Sierra Wireless MC8755 */
+@@ -156,7 +162,10 @@ static struct usb_device_id id_table_3po
+ { USB_DEVICE(0x1199, 0x6851) }, /* Sierra Wireless AirCard 881 */
+ { USB_DEVICE(0x1199, 0x6852) }, /* Sierra Wireless AirCard 880E */
+ { USB_DEVICE(0x1199, 0x6853) }, /* Sierra Wireless AirCard 881E */
++ { USB_DEVICE(0x1199, 0x6855) }, /* Sierra Wireless AirCard 880 U */
+ { USB_DEVICE(0x1199, 0x6856) }, /* Sierra Wireless AirCard 881U */
++ { USB_DEVICE(0x1199, 0x6468) }, /* Sierra Wireless MP3G - EVDO */
++ { USB_DEVICE(0x1199, 0x6469) }, /* Sierra Wireless MP3G - UMTS/HSPA */
+ { }
+ };
+
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:23:09 2008
+From: Grant Grundler <grundler@parisc-linux.org>
+Date: Fri, 1 Feb 2008 15:16:58 -0800
+Subject: USB: storage: Add unusual_dev for HP r707
+To: linux-usb@vger.kernel.org
+Cc: Greg Kroah-Hartman <gregkh@suse.de>, Grant Grundler <grundler@parisc-linux.org>, Phil Dibowitz <phil@ipom.com>, stable <stable@kernel.org>
+Message-ID: <1201907929-23721-17-git-send-email-gregkh@suse.de>
+
+
+From: Grant Grundler <grundler@parisc-linux.org>
+
+Add "FIX_CAPACITY" entry for HP Photosmart r707 Camera in "Disk" mode.
+Camera will wedge when /lib/udev/vol_id attempts to access the last sector,
+EIO gets reported to dmesg, and block device is marked "offline" (it is).
+Reproduced vol_id behavior with:
+ "dd if=/dev/sda of=/dev/null skip=60800 count=1"
+
+Signed-off-by: Grant Grundler <grundler@parisc-linux.org>
+Signed-off-by: Phil Dibowitz <phil@ipom.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/storage/unusual_devs.h | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/drivers/usb/storage/unusual_devs.h
++++ b/drivers/usb/storage/unusual_devs.h
+@@ -86,6 +86,14 @@ UNUSUAL_DEV( 0x03f0, 0x0307, 0x0001, 0x
+ US_SC_8070, US_PR_USBAT, init_usbat_cd, 0),
+ #endif
+
++/* Reported by Grant Grundler <grundler@parisc-linux.org>
++ * HP r707 camera in "Disk" mode with 2.00.23 or 2.00.24 firmware.
++ */
++UNUSUAL_DEV( 0x03f0, 0x4002, 0x0001, 0x0001,
++ "HP",
++ "PhotoSmart R707",
++ US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_CAPACITY),
++
+ /* Reported by Sebastian Kapfer <sebastian_kapfer@gmx.net>
+ * and Olaf Hering <olh@suse.de> (different bcd's, same vendor/product)
+ * for USB floppies that need the SINGLE_LUN enforcement.
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:22:48 2008
+From: Oliver Neukum <oliver@neukum.org>
+Date: Fri, 1 Feb 2008 15:16:56 -0800
+Subject: USB: use GFP_NOIO in reset path
+To: linux-usb@vger.kernel.org
+Cc: Oliver Neukum <oneukum@suse.de>, Oliver Neukum <oliver@neukum.org>, stable <stable@kernel.org>, Greg Kroah-Hartman <gregkh@suse.de>
+Message-ID: <1201907929-23721-15-git-send-email-gregkh@suse.de>
+
+
+From: Oliver Neukum <oliver@neukum.org>
+
+this function will run in the context of the scsi error handler thread.
+It must use GFP_NOIO instead of GFP_KERNEL to avoid a possible
+deadlock.
+
+Signed-off-by: Oliver Neukum <oneukum@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/core/hub.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/usb/core/hub.c
++++ b/drivers/usb/core/hub.c
+@@ -2946,7 +2946,7 @@ static int config_descriptors_changed(st
+ if (len < le16_to_cpu(udev->config[index].desc.wTotalLength))
+ len = le16_to_cpu(udev->config[index].desc.wTotalLength);
+ }
+- buf = kmalloc (len, GFP_KERNEL);
++ buf = kmalloc(len, GFP_NOIO);
+ if (buf == NULL) {
+ dev_err(&udev->dev, "no mem to re-read configs after reset\n");
+ /* assume the worst */
--- /dev/null
+From stable-bounces@linux.kernel.org Fri Feb 1 15:22:59 2008
+From: Nate Carlson <natecars@natecarlson.com>
+Date: Fri, 1 Feb 2008 15:16:57 -0800
+Subject: USB: Variant of the Dell Wireless 5520 driver
+To: linux-usb@vger.kernel.org
+Cc: Greg Kroah-Hartman <gregkh@suse.de>, stable <stable@kernel.org>, Nate Carlson <natecars@natecarlson.com>
+Message-ID: <1201907929-23721-16-git-send-email-gregkh@suse.de>
+
+
+From: Nate Carlson <natecars@natecarlson.com>
+
+I've got a Dell wireless 5520 card with a different USB ID - specifically, 8136
+instead of 8137. Attached a small patch to add support, and the output of an
+'ati3'.
+
+If we could get this in, that'd be sweet. ;) Thanks!
+
+nc@knight:~/tmp/linux-2.6.24-rc8/drivers/usb/serial$ lsusb | grep 8136
+ Bus 001 Device 005: ID 413c:8136 Dell Computer Corp.
+nc@knight:~/tmp/linux-source-2.6.23/drivers/usb/serial$ cu -l ttyUSB0 -s 115200
+ Connected.
+ ati3
+ Manufacturer: Novatel Wireless Incorporated
+ Model: Expedite EU860D MiniCard
+ Revision: 10.10.04.01-01 [2007-04-11 14:07:19]
+ IMEI: 011186000228043
+ +GCAP: +CGSM,+DS,+ES
+
+From: Nate Carlson <natecars@natecarlson.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/option.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/serial/option.c
++++ b/drivers/usb/serial/option.c
+@@ -180,6 +180,7 @@ static struct usb_device_id option_ids[]
+ { USB_DEVICE(DELL_VENDOR_ID, 0x8117) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO ExpressCard == Novatel Merlin XV620 CDMA/EV-DO */
+ { USB_DEVICE(DELL_VENDOR_ID, 0x8118) }, /* Dell Wireless 5510 Mobile Broadband HSDPA ExpressCard == Novatel Merlin XU870 HSDPA/3G */
+ { USB_DEVICE(DELL_VENDOR_ID, 0x8128) }, /* Dell Wireless 5700 Mobile Broadband CDMA/EVDO Mini-Card == Novatel Expedite E720 CDMA/EV-DO */
++ { USB_DEVICE(DELL_VENDOR_ID, 0x8136) }, /* Dell Wireless HSDPA 5520 == Novatel Expedite EU860D */
+ { USB_DEVICE(DELL_VENDOR_ID, 0x8137) }, /* Dell Wireless HSDPA 5520 */
+ { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_E100A) },
+ { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_500A) },