Add libusb error warning message when significant error occurs.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
diff --git a/usbutils.c b/usbutils.c
index 35c8865..c93e920 100644
--- a/usbutils.c
+++ b/usbutils.c
@@ -2310,7 +2310,7 @@ int _usb_read(struct cgpu_info *cgpu, int intinfo, int epinfo, char *buf, size_t
USB_REJECT(cgpu, MODE_BULK_READ);
err = LIBUSB_ERROR_NO_DEVICE;
- goto out_unlock;
+ goto out_noerrmsg;
}
usbdev = cgpu->usbdev;
@@ -2554,6 +2554,11 @@ int _usb_read(struct cgpu_info *cgpu, int intinfo, int epinfo, char *buf, size_t
release_cgpu(cgpu);
out_unlock:
+ if (err && err != LIBUSB_ERROR_TIMEOUT) {
+ applog(LOG_WARNING, "%s %i usb read error: %s", cgpu->drv->name, cgpu->device_id,
+ libusb_error_name(err));
+ }
+out_noerrmsg:
DEVUNLOCK(cgpu, pstate);
return err;
@@ -2578,7 +2583,7 @@ int _usb_write(struct cgpu_info *cgpu, int intinfo, int epinfo, char *buf, size_
USB_REJECT(cgpu, MODE_BULK_WRITE);
err = LIBUSB_ERROR_NO_DEVICE;
- goto out_unlock;
+ goto out_noerrmsg;
}
usbdev = cgpu->usbdev;
@@ -2645,7 +2650,11 @@ int _usb_write(struct cgpu_info *cgpu, int intinfo, int epinfo, char *buf, size_
if (NODEV(err))
release_cgpu(cgpu);
-out_unlock:
+ if (err && err != LIBUSB_ERROR_TIMEOUT) {
+ applog(LOG_WARNING, "%s %i usb write error: %s", cgpu->drv->name, cgpu->device_id,
+ libusb_error_name(err));
+ }
+out_noerrmsg:
DEVUNLOCK(cgpu, pstate);
return err;
@@ -2720,6 +2729,10 @@ int __usb_transfer(struct cgpu_info *cgpu, uint8_t request_type, uint8_t bReques
if (NOCONTROLDEV(err))
release_cgpu(cgpu);
+ if (err < 0 && err != LIBUSB_ERROR_TIMEOUT) {
+ applog(LOG_WARNING, "%s %i usb transfer error: %s", cgpu->drv->name, cgpu->device_id,
+ libusb_error_name(err));
+ }
out_:
return err;
}
@@ -2754,7 +2767,7 @@ int _usb_transfer_read(struct cgpu_info *cgpu, uint8_t request_type, uint8_t bRe
USB_REJECT(cgpu, MODE_CTRL_READ);
err = LIBUSB_ERROR_NO_DEVICE;
- goto out_unlock;
+ goto out_noerrmsg;
}
usbdev = cgpu->usbdev;
if (timeout == DEVTIMEOUT)
@@ -2799,7 +2812,11 @@ int _usb_transfer_read(struct cgpu_info *cgpu, uint8_t request_type, uint8_t bRe
} else if (NOCONTROLDEV(err))
release_cgpu(cgpu);
-out_unlock:
+ if (err < 0 && err != LIBUSB_ERROR_TIMEOUT) {
+ applog(LOG_WARNING, "%s %i usb transfer read error: %s", cgpu->drv->name, cgpu->device_id,
+ libusb_error_name(err));
+ }
+out_noerrmsg:
DEVUNLOCK(cgpu, pstate);
return err;