mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
usb: Set USBEndpoint in usb_packet_setup().
With the separation of the device lookup (via usb_find_device) and packet processing we can lookup device and endpoint before setting up the usb packet. So we can initialize USBPacket->ep early and keep it valid for the whole lifecycle of the USBPacket. Also the devaddr and devep fields are not needed any more. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
63095ab54c
commit
079d0b7f1e
19 changed files with 91 additions and 86 deletions
|
@ -1210,7 +1210,7 @@ static int usb_net_handle_data(USBDevice *dev, USBPacket *p)
|
|||
|
||||
switch(p->pid) {
|
||||
case USB_TOKEN_IN:
|
||||
switch (p->devep) {
|
||||
switch (p->ep->nr) {
|
||||
case 1:
|
||||
ret = usb_net_handle_statusin(s, p);
|
||||
break;
|
||||
|
@ -1225,7 +1225,7 @@ static int usb_net_handle_data(USBDevice *dev, USBPacket *p)
|
|||
break;
|
||||
|
||||
case USB_TOKEN_OUT:
|
||||
switch (p->devep) {
|
||||
switch (p->ep->nr) {
|
||||
case 2:
|
||||
ret = usb_net_handle_dataout(s, p);
|
||||
break;
|
||||
|
@ -1243,7 +1243,7 @@ static int usb_net_handle_data(USBDevice *dev, USBPacket *p)
|
|||
if (ret == USB_RET_STALL)
|
||||
fprintf(stderr, "usbnet: failed data transaction: "
|
||||
"pid 0x%x ep 0x%x len 0x%zx\n",
|
||||
p->pid, p->devep, p->iov.size);
|
||||
p->pid, p->ep->nr, p->iov.size);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue