351a2ec15f
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
38 lines
1.2 KiB
Diff
38 lines
1.2 KiB
Diff
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
|
|
|