19226502bf
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
29 lines
1.1 KiB
Diff
29 lines
1.1 KiB
Diff
From 0384e9ec7b5a3d8e6e2162ce8adf019d0f5c94cf Mon Sep 17 00:00:00 2001
|
|
From: P33M <p33m@github.com>
|
|
Date: Wed, 16 Jan 2019 10:17:52 +0000
|
|
Subject: [PATCH 304/725] dwc_otg: fix bug with port_addr assignment for
|
|
single-TT hubs
|
|
|
|
See https://github.com/raspberrypi/linux/issues/2734
|
|
|
|
The "Hub Port" field in the split transaction packet was always set
|
|
to 1 for single-TT hubs. The majority of single-TT hub products
|
|
apparently ignore this field and broadcast to all downstream enabled
|
|
ports, which masked the issue. A subset of hub devices apparently
|
|
need the port number to be exact or split transactions will fail.
|
|
---
|
|
drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
|
|
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
|
|
@@ -232,7 +232,7 @@ static int _hub_info(dwc_otg_hcd_t * hcd
|
|
else
|
|
*hub_addr = urb->dev->tt->hub->devnum;
|
|
}
|
|
- *port_addr = urb->dev->tt->multi ? urb->dev->ttport : 1;
|
|
+ *port_addr = urb->dev->ttport;
|
|
} else {
|
|
*hub_addr = 0;
|
|
*port_addr = urb->dev->ttport;
|