aboutsummaryrefslogtreecommitdiff
path: root/hw/usb.h
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2011-09-15 12:10:21 +0200
committerGerd Hoffmann <kraxel@redhat.com>2011-10-13 12:58:51 +0200
commite0b8e72dd95f5fe133c8bb952a464814ca06fe8b (patch)
tree11c2928dee2be883a0021f776238cbe40e4c376b /hw/usb.h
parent3393bc105d58e1f4a27d9a8e7062da9cef260cc3 (diff)
downloadqemu-e0b8e72dd95f5fe133c8bb952a464814ca06fe8b.zip
qemu-e0b8e72dd95f5fe133c8bb952a464814ca06fe8b.tar.gz
qemu-e0b8e72dd95f5fe133c8bb952a464814ca06fe8b.tar.bz2
usb: fix port reset
commit 891fb2cd4592b6fe76106a69e0ca40efbf82726a removed the implicit detach before (re-)attaching in usb_attach(). Some usb host controllers used that behavior though to do a port reset by a detach+attach sequence. This patch establishes old behavior by adding a new usb_reset() function for port resets and putting it into use, thereby also unifying port reset behavior of all host controllers. The patch also adds asserts to usb_attach() and usb_detach() to make sure the calls are symmetrical. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/usb.h')
-rw-r--r--hw/usb.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/usb.h b/hw/usb.h
index c08d469..c6e1870 100644
--- a/hw/usb.h
+++ b/hw/usb.h
@@ -306,6 +306,7 @@ void usb_cancel_packet(USBPacket * p);
void usb_attach(USBPort *port);
void usb_detach(USBPort *port);
+void usb_reset(USBPort *port);
void usb_wakeup(USBDevice *dev);
int usb_generic_handle_packet(USBDevice *s, USBPacket *p);
void usb_generic_async_ctrl_complete(USBDevice *s, USBPacket *p);