From d3aea641a4002e0abe940c65d318ef38eda245df Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 14 Dec 2012 14:35:44 +0100 Subject: usbredir: Verify we have 32 bits bulk length cap when redirecting to xhci The xhci-hcd may submit bulk transfers > 65535 bytes even when not using bulk-in pipeling, so usbredir can only be used in combination with an xhci hcd if the client has the 32 bits bulk length capability. Signed-off-by: Hans de Goede Signed-off-by: Gerd Hoffmann --- hw/usb/redirect.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'hw/usb/redirect.c') diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c index 855c76563a..566737d8f5 100644 --- a/hw/usb/redirect.c +++ b/hw/usb/redirect.c @@ -979,6 +979,8 @@ static void usbredir_do_attach(void *opaque) if ((dev->dev.port->speedmask & USB_SPEED_MASK_SUPER) && !( usbredirparser_peer_has_cap(dev->parser, usb_redir_cap_ep_info_max_packet_size) && + usbredirparser_peer_has_cap(dev->parser, + usb_redir_cap_32bits_bulk_length) && usbredirparser_peer_has_cap(dev->parser, usb_redir_cap_64bits_ids))) { ERROR("usb-redir-host lacks capabilities needed for use with XHCI\n"); -- cgit v1.2.1