From c0fdc9d108ff59e13ce6b9751f60c22aed153161 Mon Sep 17 00:00:00 2001 From: Thomas Heijligen Date: Thu, 25 Aug 2022 13:43:17 +0200 Subject: usb_device.c: release the usb interface on shutdown Following the libusb documentaion: `You should release all claimed interfaces before closing a device handle.` https://libusb.sourceforge.io/api-1.0/group__libusb__dev.html libusb_release_interface() Change-Id: If916574314cd86fad3429065a11707da0a809e0d Signed-off-by: Thomas Heijligen Reviewed-on: https://review.coreboot.org/c/flashrom/+/67072 Tested-by: build bot (Jenkins) Reviewed-by: Edward O'Callaghan --- usb_device.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/usb_device.c b/usb_device.c index b23b20459..b3c966cc7 100644 --- a/usb_device.c +++ b/usb_device.c @@ -381,8 +381,11 @@ struct usb_device *usb_device_free(struct usb_device *device) { struct usb_device *next = device->next; - if (device->handle != NULL) + if (device->handle != NULL) { + libusb_release_interface(device->handle, + device->interface_descriptor->bInterfaceNumber); libusb_close(device->handle); + } /* * This unref balances the ref added in the add_device function. -- cgit v1.2.3