summaryrefslogtreecommitdiffstats
path: root/target/linux/bcm53xx/patches-3.18/183-USB-bcma-fix-error-handling-in-bcma_hcd_create_pdev.patch
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2015-06-16 08:28:46 +0000
committerRafał Miłecki <zajec5@gmail.com>2015-06-16 08:28:46 +0000
commit351a2ec15fa0855b2dc29dfbb62113f71e4e6a76 (patch)
tree28a8489608bf9f5eb77be1a478cbc997d8b3e1d4 /target/linux/bcm53xx/patches-3.18/183-USB-bcma-fix-error-handling-in-bcma_hcd_create_pdev.patch
parenta7780603923fddec225c9f4b0990fede4c2695a9 (diff)
downloadmaster-31e0f0ae-351a2ec15fa0855b2dc29dfbb62113f71e4e6a76.tar.gz
master-31e0f0ae-351a2ec15fa0855b2dc29dfbb62113f71e4e6a76.tar.bz2
master-31e0f0ae-351a2ec15fa0855b2dc29dfbb62113f71e4e6a76.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> SVN-Revision: 45997
Diffstat (limited to 'target/linux/bcm53xx/patches-3.18/183-USB-bcma-fix-error-handling-in-bcma_hcd_create_pdev.patch')
-rw-r--r--target/linux/bcm53xx/patches-3.18/183-USB-bcma-fix-error-handling-in-bcma_hcd_create_pdev.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/target/linux/bcm53xx/patches-3.18/183-USB-bcma-fix-error-handling-in-bcma_hcd_create_pdev.patch b/target/linux/bcm53xx/patches-3.18/183-USB-bcma-fix-error-handling-in-bcma_hcd_create_pdev.patch
new file mode 100644
index 0000000000..799c93ef41
--- /dev/null
+++ b/target/linux/bcm53xx/patches-3.18/183-USB-bcma-fix-error-handling-in-bcma_hcd_create_pdev.patch
@@ -0,0 +1,38 @@
+From 232996d1ba3002e7e80b18075e2838fc86f21412 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Thu, 11 Jun 2015 22:57:38 +0200
+Subject: [PATCH] USB: bcma: fix error handling in bcma_hcd_create_pdev()
+
+This patch makes bcma_hcd_create_pdev() not return NULL, but a prober
+error code in case of an error.
+
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+---
+ drivers/usb/host/bcma-hcd.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/usb/host/bcma-hcd.c b/drivers/usb/host/bcma-hcd.c
+index d7ea50d..8a38313 100644
+--- a/drivers/usb/host/bcma-hcd.c
++++ b/drivers/usb/host/bcma-hcd.c
+@@ -169,7 +169,7 @@ static struct platform_device *bcma_hcd_create_pdev(struct bcma_device *dev, boo
+ {
+ struct platform_device *hci_dev;
+ struct resource hci_res[2];
+- int ret = -ENOMEM;
++ int ret;
+
+ memset(hci_res, 0, sizeof(hci_res));
+
+@@ -183,7 +183,7 @@ static struct platform_device *bcma_hcd_create_pdev(struct bcma_device *dev, boo
+ hci_dev = platform_device_alloc(ohci ? "ohci-platform" :
+ "ehci-platform" , 0);
+ if (!hci_dev)
+- return NULL;
++ return ERR_PTR(-ENOMEM);
+
+ hci_dev->dev.parent = &dev->dev;
+ hci_dev->dev.dma_mask = &hci_dev->dev.coherent_dma_mask;
+--
+1.8.4.5
+