mirror of
https://github.com/torvalds/linux.git
synced 2024-12-02 17:11:33 +00:00
USB: xhci: Fail gracefully if there's no SS ep companion descriptor.
This is a work around for a bug in the SuperSpeed Endpoint Companion Descriptor parsing code. It fails in some corner cases, which means ep->ss_ep_comp may be NULL. Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
4a73143ced
commit
b7d6d99896
@ -496,7 +496,12 @@ int xhci_endpoint_init(struct xhci_hcd *xhci,
|
||||
max_packet = ep->desc.wMaxPacketSize;
|
||||
ep_ctx->ep_info2 |= MAX_PACKET(max_packet);
|
||||
/* dig out max burst from ep companion desc */
|
||||
max_packet = ep->ss_ep_comp->desc.bMaxBurst;
|
||||
if (!ep->ss_ep_comp) {
|
||||
xhci_warn(xhci, "WARN no SS endpoint companion descriptor.\n");
|
||||
max_packet = 0;
|
||||
} else {
|
||||
max_packet = ep->ss_ep_comp->desc.bMaxBurst;
|
||||
}
|
||||
ep_ctx->ep_info2 |= MAX_BURST(max_packet);
|
||||
break;
|
||||
case USB_SPEED_HIGH:
|
||||
|
Loading…
Reference in New Issue
Block a user