summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usb-linux.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/usb-linux.c b/usb-linux.c
index a1b14448e9..a4dfe5ca17 100644
--- a/usb-linux.c
+++ b/usb-linux.c
@@ -1158,9 +1158,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;
}
@@ -1169,7 +1169,7 @@ static int usb_host_close(USBHostDevice *dev)
{
int i;
- if (dev->fd == -1) {
+ if (dev->fd == -1 || !dev->dev.attached) {
return -1;
}