mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-08 20:05:54 +00:00
lx_emul: do not reset ep in usb flush transfers
Certain USB devices do not react anymore after an endpoint reset in the use case of USB devices passed through to a virtual machine. When investigating the only USB session client that needs the flush transfers request - namely the Qemu xhci model used in VirtualBox - there seems to be no need to reset the endpoint in fact. Fix genodelabs/genode#5050
This commit is contained in:
parent
4ecae91fc3
commit
62492f3cd2
@ -535,8 +535,7 @@ handle_flush_request(unsigned char ep,
|
||||
struct file * file = open_usb_dev(udev);
|
||||
struct usb_per_dev_data * d = dev_get_drvdata(&udev->dev);
|
||||
struct usb_urb_in_flight *iter, *next;
|
||||
unsigned int e = ep;
|
||||
int ret = -ENODEV;
|
||||
int ret = 0;
|
||||
|
||||
/* discard URBs of the related EP in reverse order, like libusb is doing */
|
||||
list_for_each_entry_safe_reverse(iter, next, &d->urblist, le) {
|
||||
@ -547,9 +546,6 @@ handle_flush_request(unsigned char ep,
|
||||
}
|
||||
}
|
||||
|
||||
ret = usbdev_file_operations->unlocked_ioctl(file,
|
||||
USBDEVFS_RESETEP,
|
||||
(unsigned long)&e);
|
||||
genode_usb_ack_request(session, request, handle_return_code, &ret);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user