diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2015-06-16 08:32:17 +0000 |
---|---|---|
committer | Rafał Miłecki <zajec5@gmail.com> | 2015-06-16 08:32:17 +0000 |
commit | a0b734b45dfd7dc4ce9d75e67e1947a2511fff69 (patch) | |
tree | d5fde7331af67825323abb6b9ed1ec5f886b880d /target/linux/bcm53xx/patches-3.18/180-USB-bcma-remove-chip-id-check.patch | |
parent | 1465aca8b662872b03c12fecfb4ab111469de9b0 (diff) | |
download | upstream-a0b734b45dfd7dc4ce9d75e67e1947a2511fff69.tar.gz upstream-a0b734b45dfd7dc4ce9d75e67e1947a2511fff69.tar.bz2 upstream-a0b734b45dfd7dc4ce9d75e67e1947a2511fff69.zip |
bcm53xx: use USB patches sent upstream by Hauke
This stabilizes USB support. The old patch was handling initialization
in a different order that was causing some problems with few USB 3.0
devices. Some weren't detected, some were working unstable, sometimes
USB 3.0 could hang the whole controller.
A still known issue (but not a regression) is controller hang triggered
by connecting USB 1.1 device when not having OHCI controller enabled
(kmod-usb-ohci).
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Backport of r45997
git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@45998 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/bcm53xx/patches-3.18/180-USB-bcma-remove-chip-id-check.patch')
-rw-r--r-- | target/linux/bcm53xx/patches-3.18/180-USB-bcma-remove-chip-id-check.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/target/linux/bcm53xx/patches-3.18/180-USB-bcma-remove-chip-id-check.patch b/target/linux/bcm53xx/patches-3.18/180-USB-bcma-remove-chip-id-check.patch new file mode 100644 index 0000000000..56e962d793 --- /dev/null +++ b/target/linux/bcm53xx/patches-3.18/180-USB-bcma-remove-chip-id-check.patch @@ -0,0 +1,39 @@ +From baf3d128e5bdf9d322539609133a15b493b0c2ef Mon Sep 17 00:00:00 2001 +From: Hauke Mehrtens <hauke@hauke-m.de> +Date: Thu, 11 Jun 2015 22:57:35 +0200 +Subject: [PATCH] USB: bcma: remove chip id check + +I have never seen any bcma device with an USB host core which was not a +SoC, the bcma devices have an USB device core with a different core id. +Some SoC have IDs with 47XX and 53XX in decimal form which would be +rejected by this check. Instead of fixing this check just remove it. + +Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> +--- + drivers/usb/host/bcma-hcd.c | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/drivers/usb/host/bcma-hcd.c b/drivers/usb/host/bcma-hcd.c +index cd6d0af..080587e 100644 +--- a/drivers/usb/host/bcma-hcd.c ++++ b/drivers/usb/host/bcma-hcd.c +@@ -214,16 +214,11 @@ err_alloc: + static int bcma_hcd_probe(struct bcma_device *dev) + { + int err; +- u16 chipid_top; + u32 ohci_addr; + struct bcma_hcd_device *usb_dev; + struct bcma_chipinfo *chipinfo; + + chipinfo = &dev->bus->chipinfo; +- /* USBcores are only connected on embedded devices. */ +- chipid_top = (chipinfo->id & 0xFF00); +- if (chipid_top != 0x4700 && chipid_top != 0x5300) +- return -ENODEV; + + /* TODO: Probably need checks here; is the core connected? */ + +-- +1.8.4.5 + |