]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
.36 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Mon, 6 Dec 2010 21:17:32 +0000 (13:17 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 6 Dec 2010 21:17:32 +0000 (13:17 -0800)
14 files changed:
queue-2.6.36/series
queue-2.6.36/staging-rt2870-add-usb-id-for-buffalo-airstation-wli-uc-gn.patch [new file with mode: 0644]
queue-2.6.36/usb-core-fix-information-leak-to-userland.patch [new file with mode: 0644]
queue-2.6.36/usb-ehci-disable-lpm-and-ppcd-for-nvidia-mcp89-chips.patch [new file with mode: 0644]
queue-2.6.36/usb-ehci-fix-debugfs-lpm-permissions.patch [new file with mode: 0644]
queue-2.6.36/usb-ehci-fix-obscure-race-in-ehci_endpoint_disable.patch [new file with mode: 0644]
queue-2.6.36/usb-ftdi_sio-add-device-ids-for-milkymist-one-jtag-serial.patch [new file with mode: 0644]
queue-2.6.36/usb-gadget-at91-fix-typo-in-atmel_usba_udc-driver.patch [new file with mode: 0644]
queue-2.6.36/usb-misc-iowarrior-fix-information-leak-to-userland.patch [new file with mode: 0644]
queue-2.6.36/usb-misc-sisusbvga-fix-information-leak-to-userland.patch [new file with mode: 0644]
queue-2.6.36/usb-musb-fix-kernel-oops-when-loading-musb_hdrc-module-for-the-2nd-time.patch [new file with mode: 0644]
queue-2.6.36/usb-ohci-jz4740-fix-spelling-in-module_alias.patch [new file with mode: 0644]
queue-2.6.36/usb-option-fix-when-the-driver-is-loaded-incorrectly-for-some-huawei-devices.patch [new file with mode: 0644]
queue-2.6.36/usb-storage-sierra_ms-fix-sysfs-file-attribute.patch [new file with mode: 0644]

index 09ecc2f6a7ca9e2d2b6174ca82d880cd25b5ba4d..92fad4b8e6469d9fa6c085a9e02146932d12bcb8 100644 (file)
@@ -196,3 +196,16 @@ xhci-fix-wmaxpacketsize-mask.patch
 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
diff --git a/queue-2.6.36/staging-rt2870-add-usb-id-for-buffalo-airstation-wli-uc-gn.patch b/queue-2.6.36/staging-rt2870-add-usb-id-for-buffalo-airstation-wli-uc-gn.patch
new file mode 100644 (file)
index 0000000..020d89c
--- /dev/null
@@ -0,0 +1,31 @@
+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 */
+ };
diff --git a/queue-2.6.36/usb-core-fix-information-leak-to-userland.patch b/queue-2.6.36/usb-core-fix-information-leak-to-userland.patch
new file mode 100644 (file)
index 0000000..5440585
--- /dev/null
@@ -0,0 +1,37 @@
+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;
diff --git a/queue-2.6.36/usb-ehci-disable-lpm-and-ppcd-for-nvidia-mcp89-chips.patch b/queue-2.6.36/usb-ehci-disable-lpm-and-ppcd-for-nvidia-mcp89-chips.patch
new file mode 100644 (file)
index 0000000..3bea65f
--- /dev/null
@@ -0,0 +1,42 @@
+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:
diff --git a/queue-2.6.36/usb-ehci-fix-debugfs-lpm-permissions.patch b/queue-2.6.36/usb-ehci-fix-debugfs-lpm-permissions.patch
new file mode 100644 (file)
index 0000000..664c5ac
--- /dev/null
@@ -0,0 +1,33 @@
+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;
diff --git a/queue-2.6.36/usb-ehci-fix-obscure-race-in-ehci_endpoint_disable.patch b/queue-2.6.36/usb-ehci-fix-obscure-race-in-ehci_endpoint_disable.patch
new file mode 100644 (file)
index 0000000..2cb38cc
--- /dev/null
@@ -0,0 +1,61 @@
+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.
+                */
diff --git a/queue-2.6.36/usb-ftdi_sio-add-device-ids-for-milkymist-one-jtag-serial.patch b/queue-2.6.36/usb-ftdi_sio-add-device-ids-for-milkymist-one-jtag-serial.patch
new file mode 100644 (file)
index 0000000..54b7a14
--- /dev/null
@@ -0,0 +1,46 @@
+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
++
diff --git a/queue-2.6.36/usb-gadget-at91-fix-typo-in-atmel_usba_udc-driver.patch b/queue-2.6.36/usb-gadget-at91-fix-typo-in-atmel_usba_udc-driver.patch
new file mode 100644 (file)
index 0000000..212d111
--- /dev/null
@@ -0,0 +1,30 @@
+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;
+               }
+       }
diff --git a/queue-2.6.36/usb-misc-iowarrior-fix-information-leak-to-userland.patch b/queue-2.6.36/usb-misc-iowarrior-fix-information-leak-to-userland.patch
new file mode 100644 (file)
index 0000000..330bee5
--- /dev/null
@@ -0,0 +1,31 @@
+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;
diff --git a/queue-2.6.36/usb-misc-sisusbvga-fix-information-leak-to-userland.patch b/queue-2.6.36/usb-misc-sisusbvga-fix-information-leak-to-userland.patch
new file mode 100644 (file)
index 0000000..8749211
--- /dev/null
@@ -0,0 +1,29 @@
+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;
diff --git a/queue-2.6.36/usb-musb-fix-kernel-oops-when-loading-musb_hdrc-module-for-the-2nd-time.patch b/queue-2.6.36/usb-musb-fix-kernel-oops-when-loading-musb_hdrc-module-for-the-2nd-time.patch
new file mode 100644 (file)
index 0000000..ddc379b
--- /dev/null
@@ -0,0 +1,140 @@
+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);
diff --git a/queue-2.6.36/usb-ohci-jz4740-fix-spelling-in-module_alias.patch b/queue-2.6.36/usb-ohci-jz4740-fix-spelling-in-module_alias.patch
new file mode 100644 (file)
index 0000000..de9afff
--- /dev/null
@@ -0,0 +1,28 @@
+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");
diff --git a/queue-2.6.36/usb-option-fix-when-the-driver-is-loaded-incorrectly-for-some-huawei-devices.patch b/queue-2.6.36/usb-option-fix-when-the-driver-is-loaded-incorrectly-for-some-huawei-devices.patch
new file mode 100644 (file)
index 0000000..e63b6ff
--- /dev/null
@@ -0,0 +1,36 @@
+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) },
diff --git a/queue-2.6.36/usb-storage-sierra_ms-fix-sysfs-file-attribute.patch b/queue-2.6.36/usb-storage-sierra_ms-fix-sysfs-file-attribute.patch
new file mode 100644 (file)
index 0000000..8ec2f27
--- /dev/null
@@ -0,0 +1,31 @@
+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)
+ {