summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/usb.h1
-rw-r--r--hw/usb/core.c6
2 files changed, 7 insertions, 0 deletions
diff --git a/hw/usb.h b/hw/usb.h
index 90024a4515..af86fbd086 100644
--- a/hw/usb.h
+++ b/hw/usb.h
@@ -417,6 +417,7 @@ void usb_ep_set_max_packet_size(USBDevice *dev, int pid, int ep,
uint16_t raw);
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_halted(USBDevice *dev, int pid, int ep, bool halted);
USBPacket *usb_ep_find_packet_by_id(USBDevice *dev, int pid, int ep,
uint64_t id);
diff --git a/hw/usb/core.c b/hw/usb/core.c
index d057aab900..5517797c8a 100644
--- a/hw/usb/core.c
+++ b/hw/usb/core.c
@@ -755,6 +755,12 @@ void usb_ep_set_pipeline(USBDevice *dev, int pid, int ep, bool enabled)
uep->pipeline = enabled;
}
+void usb_ep_set_halted(USBDevice *dev, int pid, int ep, bool halted)
+{
+ struct USBEndpoint *uep = usb_ep_get(dev, pid, ep);
+ uep->halted = halted;
+}
+
USBPacket *usb_ep_find_packet_by_id(USBDevice *dev, int pid, int ep,
uint64_t id)
{