> >> @@ -625,8 +626,11 @@ static void musb_packet(MUSBState *s, MUSBEndPoint > >> *ep, > >> /* A wild guess on the FADDR semantics... */ > >> dev = usb_find_device(&s->port, ep->faddr[idx]); > >> uep = usb_ep_get(dev, pid, ep->type[idx] & 0xf); > >> - usb_packet_setup(&ep->packey[dir].p, pid, uep, 0, > >> - (dev->addr << 16) | (uep->nr << 8) | pid, false, > >> true); > >> + id = pid; > >> + if (uep) { > >> + id |= (dev->addr << 16) | (uep->nr << 8); > >> + } > >> + usb_packet_setup(&ep->packey[dir].p, pid, uep, 0, id, false, true); > >> usb_packet_addbuf(&ep->packey[dir].p, ep->buf[idx], len); > >> ep->packey[dir].ep = ep; > >> ep->packey[dir].dir = dir; > > > > This is a good approach, id is just a identifying. Thanks, > > > > Let me split the patch from this series as a separate patch > and add Paolo's signed-off-by. > > Asking for Gerd's reviewing, Thanks.
Looks good to me. cheers, Gerd