diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2011-09-15 12:10:21 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2011-10-13 12:58:51 +0200 |
commit | e0b8e72dd95f5fe133c8bb952a464814ca06fe8b (patch) | |
tree | 11c2928dee2be883a0021f776238cbe40e4c376b /hw/usb.h | |
parent | 3393bc105d58e1f4a27d9a8e7062da9cef260cc3 (diff) | |
download | qemu-e0b8e72dd95f5fe133c8bb952a464814ca06fe8b.tar.gz qemu-e0b8e72dd95f5fe133c8bb952a464814ca06fe8b.tar.bz2 qemu-e0b8e72dd95f5fe133c8bb952a464814ca06fe8b.zip |
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.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -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); |