On Tue, Sep 03, 2013 at 04:41:40PM +0200, Gerd Hoffmann wrote:
$subject says all. Support for usb3 streams is not implemented yet, otherwise it is fully functional. Tested all usb devices supported by qemu (keyboard, storage, usb hubs), except for usb attached scsi in usb3 mode (which needs streams).
Thanks. xhci support would be very nice to have.
[...]
+static struct xhci_device *xhci_find_alloc_device(struct usb_xhci_s *xhci,
struct usbdevice_s *usbdev)
+{
- ASSERT32FLAT();
- struct xhci_device *dev;
- for (dev = xhci->list; dev != NULL; dev = dev->next) {
if (dev->usbdev == usbdev) {
return dev;
}
- }
I have not done a full review, but I did notice the above. The freelist has a longer lifetime than a usbdev, so I don't think it is safe to compare to it. (Nothing stops a usbdev from being free'd and a new one being alloc'd at the same address.)
Can the needed info from usbdev be copied into the pipe so that a long held reference isn't needed?
-Kevin