/* The device reports as HID class, so the kernel would have
* claimed it. */
if (libusb_kernel_driver_active(devc->usb->devhdl, 0) == 1) {
- if (libusb_detach_kernel_driver(devc->usb->devhdl, 0) < 0) {
- sr_err("Failed to detach kernel driver.");
+ if ((ret = libusb_detach_kernel_driver(devc->usb->devhdl, 0)) < 0) {
+ sr_err("Failed to detach kernel driver: %s.",
+ libusb_error_name(ret));
return SR_ERR;
}
}
if ((ret = libusb_submit_transfer(transfer) != 0)) {
sr_err("Unable to resubmit transfer: %s.",
libusb_error_name(ret));
- libusb_free_transfer(transfer);
g_free(transfer->buffer);
+ libusb_free_transfer(transfer);
hw_dev_acquisition_stop(sdi, sdi);
}
} else {
/* This was the last transfer we're going to receive, so
* clean up now. */
- libusb_free_transfer(transfer);
g_free(transfer->buffer);
+ libusb_free_transfer(transfer);
}
}