xhci-fix-reset-device-and-configure-endpoint-commands.patch
xhci-setup-array-of-usb-2.0-and-usb-3.0-ports.patch
xhci-don-t-let-the-usb-core-disable-superspeed-ports.patch
+usb-gadget-at91-fix-typo-in-atmel_usba_udc-driver.patch
+usb-musb-fix-kernel-oops-when-loading-musb_hdrc-module-for-the-2nd-time.patch
+usb-ftdi_sio-add-device-ids-for-milkymist-one-jtag-serial.patch
+usb-option-fix-when-the-driver-is-loaded-incorrectly-for-some-huawei-devices.patch
+usb-misc-sisusbvga-fix-information-leak-to-userland.patch
+usb-misc-iowarrior-fix-information-leak-to-userland.patch
+usb-core-fix-information-leak-to-userland.patch
+usb-ohci-jz4740-fix-spelling-in-module_alias.patch
+staging-rt2870-add-usb-id-for-buffalo-airstation-wli-uc-gn.patch
+usb-ehci-fix-debugfs-lpm-permissions.patch
+usb-ehci-fix-obscure-race-in-ehci_endpoint_disable.patch
+usb-ehci-disable-lpm-and-ppcd-for-nvidia-mcp89-chips.patch
+usb-storage-sierra_ms-fix-sysfs-file-attribute.patch
--- /dev/null
+From 251d380034c6c34efe75ffb89d863558ba68ec6a Mon Sep 17 00:00:00 2001
+From: John Tapsell <johnflux@gmail.com>
+Date: Thu, 25 Mar 2010 13:30:45 +0000
+Subject: Staging: rt2870: Add USB ID for Buffalo Airstation WLI-UC-GN
+
+From: John Tapsell <johnflux@gmail.com>
+
+commit 251d380034c6c34efe75ffb89d863558ba68ec6a upstream.
+
+BugLink: http://bugs.launchpad.net/bugs/441990
+
+This was tested to successfully enable the hardware.
+
+Signed-off-by: John Tapsell <johnflux@gmail.com>
+Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/staging/rt2860/usb_main_dev.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/staging/rt2860/usb_main_dev.c
++++ b/drivers/staging/rt2860/usb_main_dev.c
+@@ -182,6 +182,7 @@ struct usb_device_id rtusb_usb_id[] = {
+ {USB_DEVICE(0x2001, 0x3C09)}, /* D-Link */
+ {USB_DEVICE(0x2001, 0x3C0A)}, /* D-Link 3072 */
+ {USB_DEVICE(0x2019, 0xED14)}, /* Planex Communications, Inc. */
++ {USB_DEVICE(0x0411, 0x015D)}, /* Buffalo Airstation WLI-UC-GN */
+ {} /* Terminating entry */
+ };
+
--- /dev/null
+From 886ccd4520064408ce5876cfe00554ce52ecf4a7 Mon Sep 17 00:00:00 2001
+From: Vasiliy Kulikov <segooon@gmail.com>
+Date: Sat, 6 Nov 2010 17:41:28 +0300
+Subject: usb: core: fix information leak to userland
+
+From: Vasiliy Kulikov <segooon@gmail.com>
+
+commit 886ccd4520064408ce5876cfe00554ce52ecf4a7 upstream.
+
+Structure usbdevfs_connectinfo is copied to userland with padding byted
+after "slow" field uninitialized. It leads to leaking of contents of
+kernel stack memory.
+
+Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/core/devio.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+--- a/drivers/usb/core/devio.c
++++ b/drivers/usb/core/devio.c
+@@ -965,10 +965,11 @@ static int proc_getdriver(struct dev_sta
+
+ static int proc_connectinfo(struct dev_state *ps, void __user *arg)
+ {
+- struct usbdevfs_connectinfo ci;
++ struct usbdevfs_connectinfo ci = {
++ .devnum = ps->dev->devnum,
++ .slow = ps->dev->speed == USB_SPEED_LOW
++ };
+
+- ci.devnum = ps->dev->devnum;
+- ci.slow = ps->dev->speed == USB_SPEED_LOW;
+ if (copy_to_user(arg, &ci, sizeof(ci)))
+ return -EFAULT;
+ return 0;
--- /dev/null
+From a85b4e7f4481c5a1ca89fa63c9c871151965075e Mon Sep 17 00:00:00 2001
+From: Brian J. Tarricone <brian@tarricone.org>
+Date: Sun, 21 Nov 2010 21:15:52 -0800
+Subject: USB: ehci: disable LPM and PPCD for nVidia MCP89 chips
+
+From: Brian J. Tarricone <brian@tarricone.org>
+
+commit a85b4e7f4481c5a1ca89fa63c9c871151965075e upstream.
+
+Tested on MacBookAir3,1. Without this, we get EPROTO errors when
+fetching device config descriptors.
+
+Signed-off-by: Brian Tarricone <brian@tarricone.org>
+Reported-by: Benoit Gschwind <gschwind@gnu-log.net>
+Tested-by: Edgar Hucek <gimli@dark-green.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/ehci-pci.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+--- a/drivers/usb/host/ehci-pci.c
++++ b/drivers/usb/host/ehci-pci.c
+@@ -148,6 +148,18 @@ static int ehci_pci_setup(struct usb_hcd
+ if (pdev->revision < 0xa4)
+ ehci->no_selective_suspend = 1;
+ break;
++
++ /* MCP89 chips on the MacBookAir3,1 give EPROTO when
++ * fetching device descriptors unless LPM is disabled.
++ * There are also intermittent problems enumerating
++ * devices with PPCD enabled.
++ */
++ case 0x0d9d:
++ ehci_info(ehci, "disable lpm/ppcd for nvidia mcp89");
++ ehci->has_lpm = 0;
++ ehci->has_ppcd = 0;
++ ehci->command &= ~CMD_PPCEE;
++ break;
+ }
+ break;
+ case PCI_VENDOR_ID_VIA:
--- /dev/null
+From 723b991a62d94f74c9f19abd3da6e937288eb969 Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@suse.de>
+Date: Mon, 15 Nov 2010 11:15:11 -0800
+Subject: USB: ehci: fix debugfs 'lpm' permissions
+
+From: Greg Kroah-Hartman <gregkh@suse.de>
+
+commit 723b991a62d94f74c9f19abd3da6e937288eb969 upstream.
+
+The permissions for the lpm debugfs file is incorrect, this fixes it.
+
+Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
+Cc: Alek Du <alek.du@intel.com>
+Cc: Jacob Pan <jacob.jun.pan@intel.com>
+Cc: David Brownell <dbrownell@users.sourceforge.net>
+Cc: Alan Stern <stern@rowland.harvard.edu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/ehci-dbg.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/usb/host/ehci-dbg.c
++++ b/drivers/usb/host/ehci-dbg.c
+@@ -1063,7 +1063,7 @@ static inline void create_debug_files (s
+ &debug_registers_fops))
+ goto file_error;
+
+- if (!debugfs_create_file("lpm", S_IRUGO|S_IWUGO, ehci->debug_dir, bus,
++ if (!debugfs_create_file("lpm", S_IRUGO|S_IWUSR, ehci->debug_dir, bus,
+ &debug_lpm_fops))
+ goto file_error;
+
--- /dev/null
+From 02e2c51ba3e80acde600721ea784c3ef84da5ea1 Mon Sep 17 00:00:00 2001
+From: Alan Stern <stern@rowland.harvard.edu>
+Date: Tue, 16 Nov 2010 10:57:37 -0500
+Subject: USB: EHCI: fix obscure race in ehci_endpoint_disable
+
+From: Alan Stern <stern@rowland.harvard.edu>
+
+commit 02e2c51ba3e80acde600721ea784c3ef84da5ea1 upstream.
+
+This patch (as1435) fixes an obscure and unlikely race in ehci-hcd.
+When an async URB is unlinked, the corresponding QH is removed from
+the async list. If the QH's endpoint is then disabled while the URB
+is being given back, ehci_endpoint_disable() won't find the QH on the
+async list, causing it to believe that the QH has been lost. This
+will lead to a memory leak at best and quite possibly to an oops.
+
+The solution is to trust usbcore not to lose track of endpoints. If
+the QH isn't on the async list then it doesn't need to be taken off
+the list, but the driver should still wait for the QH to become IDLE
+before disabling it.
+
+In theory this fixes Bugzilla #20182. In fact the race is so rare
+that it's not possible to tell whether the bug is still present.
+However, adding delays and making other changes to force the race
+seems to show that the patch works.
+
+Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
+Reported-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
+CC: David Brownell <david-b@pacbell.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/ehci-hcd.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+--- a/drivers/usb/host/ehci-hcd.c
++++ b/drivers/usb/host/ehci-hcd.c
+@@ -1048,10 +1048,11 @@ rescan:
+ tmp && tmp != qh;
+ tmp = tmp->qh_next.qh)
+ continue;
+- /* periodic qh self-unlinks on empty */
+- if (!tmp)
+- goto nogood;
+- unlink_async (ehci, qh);
++ /* periodic qh self-unlinks on empty, and a COMPLETING qh
++ * may already be unlinked.
++ */
++ if (tmp)
++ unlink_async(ehci, qh);
+ /* FALL THROUGH */
+ case QH_STATE_UNLINK: /* wait for hw to finish? */
+ case QH_STATE_UNLINK_WAIT:
+@@ -1068,7 +1069,6 @@ idle_timeout:
+ }
+ /* else FALL THROUGH */
+ default:
+-nogood:
+ /* caller was supposed to have unlinked any requests;
+ * that's not our job. just leak this memory.
+ */
--- /dev/null
+From 7fea0f714ffb3f303d4b66933af2df2f5584c9bf Mon Sep 17 00:00:00 2001
+From: Sebastien Bourdeauducq <sebastien@milkymist.org>
+Date: Wed, 3 Nov 2010 11:54:12 +0100
+Subject: USB: ftdi_sio: add device IDs for Milkymist One JTAG/serial
+
+From: Sebastien Bourdeauducq <sebastien@milkymist.org>
+
+commit 7fea0f714ffb3f303d4b66933af2df2f5584c9bf upstream.
+
+Add the USB IDs for the Milkymist One FTDI-based JTAG/serial adapter
+(http://projects.qi-hardware.com/index.php/p/mmone-jtag-serial-cable/)
+to the ftdi_sio driver and disable the first serial channel (used as
+JTAG from userspace).
+
+Signed-off-by: Sebastien Bourdeauducq <sebastien@milkymist.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/ftdi_sio.c | 2 ++
+ drivers/usb/serial/ftdi_sio_ids.h | 7 +++++++
+ 2 files changed, 9 insertions(+)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -794,6 +794,8 @@ static struct usb_device_id id_table_com
+ { USB_DEVICE(FTDI_VID, FTDI_SCIENCESCOPE_LOGBOOKML_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_SCIENCESCOPE_LS_LOGBOOK_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_SCIENCESCOPE_HS_LOGBOOK_PID) },
++ { USB_DEVICE(QIHARDWARE_VID, MILKYMISTONE_JTAGSERIAL_PID),
++ .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
+ { }, /* Optional parameter entry */
+ { } /* Terminating entry */
+ };
+--- a/drivers/usb/serial/ftdi_sio_ids.h
++++ b/drivers/usb/serial/ftdi_sio_ids.h
+@@ -1100,3 +1100,10 @@
+ #define FTDI_SCIENCESCOPE_LOGBOOKML_PID 0xFF18
+ #define FTDI_SCIENCESCOPE_LS_LOGBOOK_PID 0xFF1C
+ #define FTDI_SCIENCESCOPE_HS_LOGBOOK_PID 0xFF1D
++
++/*
++ * Milkymist One JTAG/Serial
++ */
++#define QIHARDWARE_VID 0x20B7
++#define MILKYMISTONE_JTAGSERIAL_PID 0x0713
++
--- /dev/null
+From b48809518631880207796b4aab0fc39c2f036754 Mon Sep 17 00:00:00 2001
+From: Josh Wu <josh.wu@atmel.com>
+Date: Tue, 16 Nov 2010 11:51:32 +0100
+Subject: USB: gadget: AT91: fix typo in atmel_usba_udc driver
+
+From: Josh Wu <josh.wu@atmel.com>
+
+commit b48809518631880207796b4aab0fc39c2f036754 upstream.
+
+compile fix for bug introduced by 969affff547027)
+
+Signed-off-by: Josh Wu <josh.wu@atmel.com>
+Cc: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/gadget/atmel_usba_udc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/usb/gadget/atmel_usba_udc.c
++++ b/drivers/usb/gadget/atmel_usba_udc.c
+@@ -2016,7 +2016,7 @@ static int __init usba_udc_probe(struct
+ }
+ } else {
+ /* gpio_request fail so use -EINVAL for gpio_is_valid */
+- ubc->vbus_pin = -EINVAL;
++ udc->vbus_pin = -EINVAL;
+ }
+ }
+
--- /dev/null
+From eca67aaeebd6e5d22b0d991af1dd0424dc703bfb Mon Sep 17 00:00:00 2001
+From: Vasiliy Kulikov <segooon@gmail.com>
+Date: Sat, 6 Nov 2010 17:41:31 +0300
+Subject: usb: misc: iowarrior: fix information leak to userland
+
+From: Vasiliy Kulikov <segooon@gmail.com>
+
+commit eca67aaeebd6e5d22b0d991af1dd0424dc703bfb upstream.
+
+Structure iowarrior_info is copied to userland with padding byted
+between "serial" and "revision" fields uninitialized. It leads to
+leaking of contents of kernel stack memory.
+
+Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
+Acked-by: Kees Cook <kees.cook@canonical.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/misc/iowarrior.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/misc/iowarrior.c
++++ b/drivers/usb/misc/iowarrior.c
+@@ -553,6 +553,7 @@ static long iowarrior_ioctl(struct file
+ /* needed for power consumption */
+ struct usb_config_descriptor *cfg_descriptor = &dev->udev->actconfig->desc;
+
++ memset(&info, 0, sizeof(info));
+ /* directly from the descriptor */
+ info.vendor = le16_to_cpu(dev->udev->descriptor.idVendor);
+ info.product = dev->product_id;
--- /dev/null
+From 5dc92cf1d0b4b0debbd2e333b83f9746c103533d Mon Sep 17 00:00:00 2001
+From: Vasiliy Kulikov <segooon@gmail.com>
+Date: Sat, 6 Nov 2010 17:41:35 +0300
+Subject: usb: misc: sisusbvga: fix information leak to userland
+
+From: Vasiliy Kulikov <segooon@gmail.com>
+
+commit 5dc92cf1d0b4b0debbd2e333b83f9746c103533d upstream.
+
+Structure sisusb_info is copied to userland with "sisusb_reserved" field
+uninitialized. It leads to leaking of contents of kernel stack memory.
+
+Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/misc/sisusbvga/sisusb.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/misc/sisusbvga/sisusb.c
++++ b/drivers/usb/misc/sisusbvga/sisusb.c
+@@ -3008,6 +3008,7 @@ sisusb_ioctl(struct file *file, unsigned
+ #else
+ x.sisusb_conactive = 0;
+ #endif
++ memset(x.sisusb_reserved, 0, sizeof(x.sisusb_reserved));
+
+ if (copy_to_user((void __user *)arg, &x, sizeof(x)))
+ retval = -EFAULT;
--- /dev/null
+From b212091474a5f967979e62c5c24687ee4d0342d9 Mon Sep 17 00:00:00 2001
+From: Ming Lei <tom.leiming@gmail.com>
+Date: Wed, 27 Oct 2010 09:42:32 -0500
+Subject: usb: musb: fix kernel oops when loading musb_hdrc module for the 2nd time
+
+From: Ming Lei <tom.leiming@gmail.com>
+
+commit b212091474a5f967979e62c5c24687ee4d0342d9 upstream.
+
+musb driver still may write MUSB_DEVCTL register after clock is disabled
+in musb_platform_exit, which may cause the kernel oops[1] when musb_hdrc
+module is loaded for the 2nd time.
+
+The patch fixes the kernel oops in this case.
+
+[1] kernel oops when loading musb_hdrc module for the 2nd time
+
+[ 93.380279] musb_hdrc: version 6.0, musb-dma, otg (peripheral+host), debug=5
+[ 93.387847] bus: 'platform': add driver musb_hdrc
+[ 93.388153] bus: 'platform': driver_probe_device: matched device musb_hdrc with driver musb_hdrc
+[ 93.388183] bus: 'platform': really_probe: probing driver musb_hdrc with device musb_hdrc
+[ 93.405090] HS USB OTG: revision 0x33, sysconfig 0x2010, sysstatus 0x1, intrfsel 0x1, simenable 0x0
+[ 93.405364] musb_hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
+[ 93.405395] musb_hdrc: MHDRC RTL version 1.400
+[ 93.405426] musb_hdrc: setup fifo_mode 3
+[ 93.405456] musb_hdrc: 7/31 max ep, 3648/16384 memory
+[ 93.405487] musb_core_init 1524: musb_hdrc: hw_ep 0shared, max 64
+[ 93.405487] musb_core_init 1524: musb_hdrc: hw_ep 1tx, doublebuffer, max 512
+[ 93.405517] musb_core_init 1533: musb_hdrc: hw_ep 1rx, doublebuffer, max 512
+[ 93.405548] musb_core_init 1524: musb_hdrc: hw_ep 2tx, max 512
+[ 93.405578] musb_core_init 1533: musb_hdrc: hw_ep 2rx, max 512
+[ 93.405578] musb_core_init 1524: musb_hdrc: hw_ep 3shared, max 256
+[ 93.405609] musb_core_init 1524: musb_hdrc: hw_ep 4shared, max 256
+[ 93.405853] musb_platform_try_idle 133: b_idle inactive, for idle timer for 7 ms
+[ 93.405944] device: 'gadget': device_add
+[ 93.406921] PM: Adding info for No Bus:gadget
+[ 93.406951] musb_init_controller 2136: OTG mode, status 0, dev80
+[ 93.407379] musb_do_idle 51: musb_do_idle: state=1
+[ 93.408233] musb_hdrc musb_hdrc: USB OTG mode controller at fa0ab000 using DMA, IRQ 92
+[ 93.416656] driver: 'musb_hdrc': driver_bound: bound to device 'musb_hdrc'
+[ 93.416687] bus: 'platform': really_probe: bound device musb_hdrc to driver musb_hdrc
+[ 124.486938] bus: 'platform': remove driver musb_hdrc
+[ 124.490509] twl4030_usb twl4030_usb: twl4030_phy_suspend
+[ 124.491424] device: 'gadget': device_unregister
+[ 124.491424] PM: Removing info for No Bus:gadget
+[ 124.495269] gadget: musb_gadget_release
+[ 124.498992] driver: 'musb_hdrc': driver_release
+[ 129.569366] musb_hdrc: version 6.0, musb-dma, otg (peripheral+host), debug=5
+[ 129.576934] bus: 'platform': add driver musb_hdrc
+[ 129.577209] bus: 'platform': driver_probe_device: matched device musb_hdrc with driver musb_hdrc
+[ 129.577239] bus: 'platform': really_probe: probing driver musb_hdrc with device musb_hdrc
+[ 129.592651] twl4030_usb twl4030_usb: twl4030_phy_resume
+[ 129.592681] Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa0ab404
+[ 129.600830] Internal error: : 1028 [#1]
+[ 129.604858] last sysfs file: /sys/devices/platform/i2c_omap.3/i2c-3/i2c-dev/i2c-3/dev
+[ 129.613067] Modules linked in: musb_hdrc(+) [last unloaded: musb_hdrc]
+[ 129.619964] CPU: 0 Not tainted (2.6.36-next-20101021+ #372)
+[ 129.626281] PC is at musb_platform_init+0xb0/0x1c8 [musb_hdrc]
+[ 129.632415] LR is at mark_held_locks+0x64/0x94
+[ 129.637084] pc : [<bf032198>] lr : [<c00ad7c4>] psr: 20000013
+[ 129.637084] sp : c6d5fcb0 ip : c6d5fc38 fp : c6d5fcd4
+[ 129.649139] r10: c6e72180 r9 : fa0ab000 r8 : c05612e8
+[ 129.654602] r7 : 0000005c r6 : c0559cc8 r5 : c6e72180 r4 : c0561548
+[ 129.661468] r3 : 04d60047 r2 : fa0ab000 r1 : c07169d8 r0 : 00000000
+[ 129.668304] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
+[ 129.675811] Control: 10c5387d Table: 86e4c019 DAC: 00000015
+[ 129.681823] Process insmod (pid: 554, stack limit = 0xc6d5e2f0)
+[ 129.688049] Stack: (0xc6d5fcb0 to 0xc6d60000)
+[ 129.692626] fca0: fa0ab000 c0555c54 c6d5fcd4 c0561548
+[ 129.701202] fcc0: 00000003 c05612e0 c6d5fe04 c6d5fcd8 bf03140c bf0320f4 c6d5fd9c c6d5fce8
+[ 129.709808] fce0: c015cb94 c041448c c06d9d10 ffffffff c6d5fd14 c6d5fd00 c00adbec c6d5fd40
+[ 129.718383] fd00: c015d478 c6d5fdb0 c6d5fd24 c00a9d18 c6d5e000 60000013 bf02a4ac c05612bc
+[ 129.726989] fd20: c0414fb4 c00a9cf0 c6d5fd54 c6d5fd38 c015bbdc c0244280 c6e8b7b0 c7929330
+[ 129.735565] fd40: c6d5fdb0 c6d5fdb0 c6d5fd7c c6e7227c c015c010 c015bb90 c015c2ac c6d5fdb0
+[ 129.744171] fd60: c7929330 c6d5fdb0 c7929330 c6e8b7b0 c6d5fd9c 00000000 c7929330 c6e8b7b0
+[ 129.752746] fd80: c6d5fdb0 00000000 00000001 00000000 c6d5fde4 c6d5fda0 c015d478 c015cb74
+[ 129.761322] fda0: c056138c 00000000 c6d5fdcc c6d5fdb8 c7929330 00000000 c056138c c05612e8
+[ 129.769927] fdc0: 00000000 c05612f0 c0c5d62c c06f6e00 c73217c0 00000000 c6d5fdf4 c05612e8
+[ 129.778503] fde0: c05612e8 bf02a2e4 c0c5d62c c06f6e00 c73217c0 00000000 c6d5fe14 c6d5fe08
+[ 129.787109] fe00: c029a398 bf0311c8 c6d5fe4c c6d5fe18 c0299120 c029a384 c7919140 22222222
+[ 129.795684] fe20: c6d5fe4c c05612e8 c056131c bf02a2e4 c0299278 c06f6e00 c73217c0 00000000
+[ 129.804290] fe40: c6d5fe6c c6d5fe50 c0299314 c0299020 00000000 c6d5fe70 bf02a2e4 c0299278
+[ 129.812866] fe60: c6d5fe94 c6d5fe70 c02987d4 c0299284 c7825060 c78c6618 00000000 bf02a2e4
+[ 129.821441] fe80: c06e4c98 00000000 c6d5fea4 c6d5fe98 c0298ea4 c0298778 c6d5fedc c6d5fea8
+[ 129.830047] fea0: c0297f84 c0298e8c bf02716c 000b9008 bf02a2e4 bf02a2d0 000b9008 bf02a2e4
+[ 129.838623] fec0: 00000000 c06f6e00 bf031000 00000000 c6d5fefc c6d5fee0 c0299614 c0297ec0
+[ 129.847229] fee0: bf02a2d0 000b9008 bf02a388 00000000 c6d5ff0c c6d5ff00 c029a868 c02995a8
+[ 129.855804] ff00: c6d5ff24 c6d5ff10 c029a88c c029a818 0010281c 000b9008 c6d5ff34 c6d5ff28
+[ 129.864410] ff20: bf03104c c029a878 c6d5ff7c c6d5ff38 c00463dc bf03100c 00000000 00000000
+[ 129.872985] ff40: 00000000 0010281c 000b9008 bf02a388 00000000 0010281c 000b9008 bf02a388
+[ 129.881591] ff60: 00000000 c00521c8 c6d5e000 00000000 c6d5ffa4 c6d5ff80 c00bb9b8 c00463ac
+[ 129.890167] ff80: c00adc88 c00ada68 00097e8e bebbfcf4 0010281c 00000080 00000000 c6d5ffa8
+[ 129.898742] ffa0: c0052000 c00bb908 00097e8e bebbfcf4 402c9008 0010281c 000b9008 bebbfe5a
+[ 129.907348] ffc0: 00097e8e bebbfcf4 0010281c 00000080 00000014 bebbfcf4 bebbfe06 0000005b
+[ 129.915924] ffe0: bebbf9a0 bebbf990 0001a108 40263ec0 60000010 402c9008 011b0000 0000007c
+[ 129.924499] Backtrace:
+[ 129.927185] [<bf0320e8>] (musb_platform_init+0x0/0x1c8 [musb_hdrc]) from [<bf03140c>] (musb_probe+0x250/0xf2c [musb_hdrc])
+[ 129.938781] r6:c05612e0 r5:00000003 r4:c0561548
+[ 129.943695] [<bf0311bc>] (musb_probe+0x0/0xf2c [musb_hdrc]) from [<c029a398>] (platform_drv_probe+0x20/0x24)
+[ 129.954040] [<c029a378>] (platform_drv_probe+0x0/0x24) from [<c0299120>] (driver_probe_device+0x10c/0x264)
+[ 129.964172] [<c0299014>] (driver_probe_device+0x0/0x264) from [<c0299314>] (__driver_attach+0x9c/0xa0)
+[ 129.973968] [<c0299278>] (__driver_attach+0x0/0xa0) from [<c02987d4>] (bus_for_each_dev+0x68/0x94)
+[ 129.983367] r7:c0299278 r6:bf02a2e4 r5:c6d5fe70 r4:00000000
+[ 129.989349] [<c029876c>] (bus_for_each_dev+0x0/0x94) from [<c0298ea4>] (driver_attach+0x24/0x28)
+[ 129.998565] r7:00000000 r6:c06e4c98 r5:bf02a2e4 r4:00000000
+[ 130.004547] [<c0298e80>] (driver_attach+0x0/0x28) from [<c0297f84>] (bus_add_driver+0xd0/0x274)
+[ 130.013671] [<c0297eb4>] (bus_add_driver+0x0/0x274) from [<c0299614>] (driver_register+0x78/0x158)
+[ 130.023101] [<c029959c>] (driver_register+0x0/0x158) from [<c029a868>] (platform_driver_register+0x5c/0x60)
+[ 130.033325] r7:00000000 r6:bf02a388 r5:000b9008 r4:bf02a2d0
+[ 130.039276] [<c029a80c>] (platform_driver_register+0x0/0x60) from [<c029a88c>] (platform_driver_probe+0x20/0xa8)
+[ 130.050018] [<c029a86c>] (platform_driver_probe+0x0/0xa8) from [<bf03104c>] (musb_init+0x4c/0x54 [musb_hdrc])
+[ 130.060424] r5:000b9008 r4:0010281c
+[ 130.064239] [<bf031000>] (musb_init+0x0/0x54 [musb_hdrc]) from [<c00463dc>] (do_one_initcall+0x3c/0x1c0)
+[ 130.074218] [<c00463a0>] (do_one_initcall+0x0/0x1c0) from [<c00bb9b8>] (sys_init_module+0xbc/0x1d0)
+[ 130.083709] [<c00bb8fc>] (sys_init_module+0x0/0x1d0) from [<c0052000>] (ret_fast_syscall+0x0/0x3c)
+[ 130.093109] r7:00000080 r6:0010281c r5:bebbfcf4 r4:00097e8e
+[ 130.099090] Code: 0a000046 e3a01001 e12fff33 e59520e4 (e5923404)
+[ 130.105621] ---[ end trace 1d0bd69deb79164d ]---
+
+Cc: Ajay Kumar Gupta <ajay.gupta@ti.com>
+Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
+Cc: Anand Gadiyar <gadiyar@ti.com>
+Signed-off-by: Ming Lei <tom.leiming@gmail.com>
+Signed-off-by: Felipe Balbi <balbi@ti.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/musb/musb_core.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/drivers/usb/musb/musb_core.c
++++ b/drivers/usb/musb/musb_core.c
+@@ -2243,7 +2243,6 @@ static int __exit musb_remove(struct pla
+ #endif
+ musb_writeb(musb->mregs, MUSB_DEVCTL, 0);
+ musb_platform_exit(musb);
+- musb_writeb(musb->mregs, MUSB_DEVCTL, 0);
+
+ musb_free(musb);
+ iounmap(ctrl_base);
--- /dev/null
+From 1c0a38038e8fcfaa6b5a81d53a4898f3f939f582 Mon Sep 17 00:00:00 2001
+From: Stefan Weil <weil@mail.berlios.de>
+Date: Sun, 7 Nov 2010 22:14:31 +0100
+Subject: USB: ohci-jz4740: Fix spelling in MODULE_ALIAS
+
+From: Stefan Weil <weil@mail.berlios.de>
+
+commit 1c0a38038e8fcfaa6b5a81d53a4898f3f939f582 upstream.
+
+platfrom -> platform
+
+Cc: David Brownell <dbrownell@users.sourceforge.net>
+Signed-off-by: Stefan Weil <weil@mail.berlios.de>
+Reviewed-by: Jesper Juhl <jj@chaosbits.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/host/ohci-jz4740.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/usb/host/ohci-jz4740.c
++++ b/drivers/usb/host/ohci-jz4740.c
+@@ -273,4 +273,4 @@ static struct platform_driver ohci_hcd_j
+ },
+ };
+
+-MODULE_ALIAS("platfrom:jz4740-ohci");
++MODULE_ALIAS("platform:jz4740-ohci");
--- /dev/null
+From 58c0d9d70109bd7e82bdb9517007311a48499960 Mon Sep 17 00:00:00 2001
+From: ma rui <m00150988@huawei.com>
+Date: Mon, 1 Nov 2010 11:32:18 +0800
+Subject: USB: option: fix when the driver is loaded incorrectly for some Huawei devices.
+
+From: ma rui <m00150988@huawei.com>
+
+commit 58c0d9d70109bd7e82bdb9517007311a48499960 upstream.
+
+When huawei datacard with PID 0x14AC is insterted into Linux system, the
+present kernel will load the "option" driver to all the interfaces. But
+actually, some interfaces run as other function and do not need "option"
+driver.
+
+In this path, we modify the id_tables, when the PID is 0x14ac ,VID is
+0x12d1, Only when the interface's Class is 0xff,Subclass is 0xff, Pro is
+0xff, it does need "option" driver.
+
+Signed-off-by: ma rui <m00150988@huawei.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/option.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/usb/serial/option.c
++++ b/drivers/usb/serial/option.c
+@@ -512,7 +512,7 @@ static const struct usb_device_id option
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K4505, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_K3765, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_ETS1220, 0xff, 0xff, 0xff) },
+- { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E14AC) },
++ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E14AC, 0xff, 0xff, 0xff) },
+ { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V640) },
+ { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V620) },
+ { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V740) },
--- /dev/null
+From d9624e75f6ad94d8a0718c1fafa89186d271a78c Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@suse.de>
+Date: Mon, 15 Nov 2010 11:17:52 -0800
+Subject: USB: storage: sierra_ms: fix sysfs file attribute
+
+From: Greg Kroah-Hartman <gregkh@suse.de>
+
+commit d9624e75f6ad94d8a0718c1fafa89186d271a78c upstream.
+
+A non-writable sysfs file shouldn't have writable attributes.
+
+Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
+Cc: Kevin Lloyd <klloyd@sierrawireless.com>
+Cc: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/storage/sierra_ms.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/usb/storage/sierra_ms.c
++++ b/drivers/usb/storage/sierra_ms.c
+@@ -121,7 +121,7 @@ static ssize_t show_truinst(struct devic
+ }
+ return result;
+ }
+-static DEVICE_ATTR(truinst, S_IWUGO | S_IRUGO, show_truinst, NULL);
++static DEVICE_ATTR(truinst, S_IRUGO, show_truinst, NULL);
+
+ int sierra_ms_init(struct us_data *us)
+ {