Skip to content

Commit

Permalink
dwc_otg: fix bug with port_addr assignment for single-TT hubs
Browse files Browse the repository at this point in the history
See #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.
  • Loading branch information
P33M authored and pelwell committed Jan 16, 2019
1 parent 523405d commit 79c098b
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
Expand Up @@ -232,7 +232,7 @@ static int _hub_info(dwc_otg_hcd_t * hcd, void *urb_handle, uint32_t * hub_addr,
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;
Expand Down

0 comments on commit 79c098b

Please sign in to comment.