usb-core: Add a usb_ep_find_packet_by_id() helper function
Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
cc40997489
commit
c13a9e6136
2
hw/usb.h
2
hw/usb.h
@ -377,6 +377,8 @@ void usb_ep_set_max_packet_size(USBDevice *dev, int pid, int ep,
|
|||||||
uint16_t raw);
|
uint16_t raw);
|
||||||
int usb_ep_get_max_packet_size(USBDevice *dev, int pid, int ep);
|
int usb_ep_get_max_packet_size(USBDevice *dev, int pid, int ep);
|
||||||
void usb_ep_set_pipeline(USBDevice *dev, int pid, int ep, bool enabled);
|
void usb_ep_set_pipeline(USBDevice *dev, int pid, int ep, bool enabled);
|
||||||
|
USBPacket *usb_ep_find_packet_by_id(USBDevice *dev, int pid, int ep,
|
||||||
|
uint64_t id);
|
||||||
|
|
||||||
void usb_attach(USBPort *port);
|
void usb_attach(USBPort *port);
|
||||||
void usb_detach(USBPort *port);
|
void usb_detach(USBPort *port);
|
||||||
|
@ -726,3 +726,18 @@ void usb_ep_set_pipeline(USBDevice *dev, int pid, int ep, bool enabled)
|
|||||||
struct USBEndpoint *uep = usb_ep_get(dev, pid, ep);
|
struct USBEndpoint *uep = usb_ep_get(dev, pid, ep);
|
||||||
uep->pipeline = enabled;
|
uep->pipeline = enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
USBPacket *usb_ep_find_packet_by_id(USBDevice *dev, int pid, int ep,
|
||||||
|
uint64_t id)
|
||||||
|
{
|
||||||
|
struct USBEndpoint *uep = usb_ep_get(dev, pid, ep);
|
||||||
|
USBPacket *p;
|
||||||
|
|
||||||
|
while ((p = QTAILQ_FIRST(&uep->queue)) != NULL) {
|
||||||
|
if (p->id == id) {
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user