Release usb devices on shutdown and usb_del
v5 cover Release usb devices on shutdown and usb_del
v5:
Fix to Gerd Hoffmann comments on v4.
Shahar Havivi (2):
Return usb device to host on usb_del command
Return usb device to host on exit
usb-linux.c | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-)
PATCH v5 1/2 Return usb device to host on usb_del command
Signed-off-by Shahar Havivi <[email protected]>
--- usb-linux.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
usb-linux.c +1 -0
@@ -991,6 +991,7 @@ static int usb_host_close(USBHostDevice *dev)async_complete (dev); dev->closing =0 ;usb_device_detach (&dev->dev); +ioctl (dev->fd,USBDEVFS_RESET );close (dev->fd); dev->fd =-1 ;return 0 ;
Signature · 1 line
1.7.0.4
PATCH v5 2/2 Return usb device to host on exit
In reply to Shahar HaviviSigned-off-by Shahar Havivi <[email protected]>
--- usb-linux.c | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-)
usb-linux.c +14 -0
@@ -33,6 +33,7 @@#include "qemu-common.h" #include "qemu-timer.h" #include "monitor.h" +#include "sysemu.h" #include <dirent.h> #include <sys/ioctl.h>
@@ -132,6 +133,7 @@ typedef struct USBHostDevice {int configuration;int ninterfaces;int closing; +Notifier exit;struct ctrl_struct ctrl;struct endp_data endp_table[MAX_ENDPOINTS ];
@@ -404,6 +406,7 @@ static void usb_host_handle_destroy(USBDevice *dev)usb_host_close (s);QTAILQ_REMOVE (&hostdevs, s, next); +qemu_remove_exit_notifier (&s->exit); }static int usb_linux_update_endp_table (USBHostDevice *s);
@@ -997,6 +1000,15 @@ static int usb_host_close(USBHostDevice *dev)return 0 ; } +static void usb_host_exit_notifier (struct Notifier * n) +{ +USBHostDevice *s =container_of (n, USBHostDevice, exit); + +if (s->fd !=-1 ) { +ioctl (s->fd,USBDEVFS_RESET ); + } +} +static int usb_host_initfn (USBDevice *dev) {USBHostDevice *s =DO_UPCAST (USBHostDevice, dev, dev);
@@ -1004,6 +1016,8 @@ static int usb_host_initfn(USBDevice *dev) dev->auto_attach =0 ; s->fd =-1 ;QTAILQ_INSERT_TAIL (&hostdevs, s, next); + s->exit.notify = usb_host_exit_notifier; +qemu_add_exit_notifier (&s->exit);usb_host_auto_check (NULL );return 0 ; }
Signature · 1 line
1.7.0.4
Quoted 6 lines · Shahar Havivi
v5:
Fix to Gerd Hoffmann comments on v4.Shahar Havivi (2):
Return usb device to host onusb_delcommand
Return usb device to host on exit
Looks fine to me now.
Acked-by Gerd Hoffmann <[email protected]>
cheers,
Gerd
Quoted 12 lines · Shahar Havivi
v5:
Fix to Gerd Hoffmann comments on v4.Shahar Havivi (2):
Return usb device to host onusb_delcommand
Return usb device to host on exitusb-linux.c | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-)
Thanks, both applied.
Signature · 2 lines
Aurelien Jarno GPG: 1024D/F1BCDB73 [email protected] http://www.aurel32.net