--- usb-linux.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/usb-linux.c b/usb-linux.c index 1208a97..be667f0 100644 --- a/usb-linux.c +++ b/usb-linux.c @@ -1159,9 +1159,9 @@ static int usb_host_open(USBHostDevice *dev, int bus_num, return 0; fail: - dev->fd = -1; - if (fd != -1) { - close(fd); + if (dev->fd != -1) { + close(dev->fd); + dev->fd = -1; } return -1; } @@ -1170,7 +1170,7 @@ static int usb_host_close(USBHostDevice *dev) { int i; - if (dev->fd == -1) { + if (dev->fd == -1 || !dev->dev.attached) { return -1; } -- 1.7.1