usb-musb: switch to usb_find_device()
authorGerd Hoffmann <kraxel@redhat.com>
Tue, 10 Jan 2012 16:59:33 +0000 (17:59 +0100)
committerGerd Hoffmann <kraxel@redhat.com>
Fri, 10 Feb 2012 10:31:57 +0000 (11:31 +0100)
Switch over musb to use the new usb_find_device()
function for device lookup.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw/usb-musb.c

index c2753c984ceba0aa356628b0aea0d9e9573fd6f5..ecac631228a9747932c07e9b0e5340659cb332aa 100644 (file)
@@ -605,6 +605,7 @@ static int musb_timeout(int ttype, int speed, int val)
 static void musb_packet(MUSBState *s, MUSBEndPoint *ep,
                 int epnum, int pid, int len, USBCallback cb, int dir)
 {
+    USBDevice *dev;
     int ret;
     int idx = epnum && dir;
     int ttype;
@@ -628,10 +629,8 @@ static void musb_packet(MUSBState *s, MUSBEndPoint *ep,
     ep->packey[dir].ep = ep;
     ep->packey[dir].dir = dir;
 
-    if (s->port.dev)
-        ret = usb_handle_packet(s->port.dev, &ep->packey[dir].p);
-    else
-        ret = USB_RET_NODEV;
+    dev = usb_find_device(&s->port, ep->packey[dir].p.devaddr);
+    ret = usb_handle_packet(dev, &ep->packey[dir].p);
 
     if (ret == USB_RET_ASYNC) {
         ep->status[dir] = len;