undo icarus show errno, put it as debug in ubsutils
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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
diff --git a/driver-icarus.c b/driver-icarus.c
index 562b95d..1a45321 100644
--- a/driver-icarus.c
+++ b/driver-icarus.c
@@ -433,8 +433,8 @@ static int icarus_get_nonce(struct cgpu_info *icarus, unsigned char *buf, struct
err = usb_read_timeout(icarus, (char *)buf, read_amount, &amt, ICARUS_WAIT_TIMEOUT, C_GETRESULTS);
cgtime(&read_finish);
if (err < 0 && err != LIBUSB_ERROR_TIMEOUT) {
- applog(LOG_ERR, "%s%i: Comms error (rerr=%d amt=%d, eno=%d)",
- icarus->drv->name, icarus->device_id, err, amt, errno);
+ applog(LOG_ERR, "%s%i: Comms error (rerr=%d amt=%d)",
+ icarus->drv->name, icarus->device_id, err, amt);
dev_error(icarus, REASON_DEV_COMMS_ERROR);
return ICA_NONCE_ERROR;
}
@@ -894,8 +894,8 @@ static int64_t icarus_scanhash(struct thr_info *thr, struct work *work,
err = usb_write(icarus, (char *)ob_bin, sizeof(ob_bin), &amount, C_SENDWORK);
if (err < 0 || amount != sizeof(ob_bin)) {
- applog(LOG_ERR, "%s%i: Comms error (werr=%d amt=%d eno=%d)",
- icarus->drv->name, icarus->device_id, err, amount, errno);
+ applog(LOG_ERR, "%s%i: Comms error (werr=%d amt=%d)",
+ icarus->drv->name, icarus->device_id, err, amount);
dev_error(icarus, REASON_DEV_COMMS_ERROR);
icarus_initialise(icarus, info->baud);
return 0;
diff --git a/usbutils.c b/usbutils.c
index d7f93e4..5092aed 100644
--- a/usbutils.c
+++ b/usbutils.c
@@ -2180,10 +2180,10 @@ static int
usb_bulk_transfer(struct libusb_device_handle *dev_handle,
unsigned char endpoint, unsigned char *data, int length,
int *transferred, unsigned int timeout,
- struct cgpu_info *cgpu)
+ struct cgpu_info *cgpu, enum usb_cmds cmd)
{
uint16_t MaxPacketSize;
- int err, tries = 0;
+ int err, errn, tries = 0;
/* Limit length of transfer to the largest this descriptor supports
* and leave the higher level functions to transfer more if needed. */
@@ -2197,8 +2197,14 @@ usb_bulk_transfer(struct libusb_device_handle *dev_handle,
cg_rlock(&cgusb_fd_lock);
err = libusb_bulk_transfer(dev_handle, endpoint, data, length,
transferred, timeout);
+ errn = errno;
cg_runlock(&cgusb_fd_lock);
+ if (err < 0)
+ applog(LOG_DEBUG, "%s%i: %s (amt=%d err=%d ern=%d)",
+ cgpu->drv->name, cgpu->device_id,
+ usb_cmdname(cmd), *transferred, err, errn);
+
if (err == LIBUSB_ERROR_PIPE) {
cgpu->usbinfo.last_pipe = time(NULL);
cgpu->usbinfo.pipe_count++;
@@ -2215,8 +2221,14 @@ usb_bulk_transfer(struct libusb_device_handle *dev_handle,
cg_rlock(&cgusb_fd_lock);
err = libusb_bulk_transfer(dev_handle, endpoint, data,
length, transferred, timeout);
+ errn = errno;
cg_runlock(&cgusb_fd_lock);
+ if (err < 0)
+ applog(LOG_DEBUG, "%s%i: %s (amt=%d err=%d ern=%d)",
+ cgpu->drv->name, cgpu->device_id,
+ usb_cmdname(cmd), *transferred, err, errn);
+
if (err)
cgpu->usbinfo.retry_err_count++;
} while (err == LIBUSB_ERROR_PIPE && tries++ < USB_RETRY_MAX);
@@ -2230,7 +2242,7 @@ usb_bulk_transfer(struct libusb_device_handle *dev_handle,
return err;
}
-int _usb_read(struct cgpu_info *cgpu, int ep, char *buf, size_t bufsiz, int *processed, unsigned int timeout, const char *end, __maybe_unused enum usb_cmds cmd, bool readonce)
+int _usb_read(struct cgpu_info *cgpu, int ep, char *buf, size_t bufsiz, int *processed, unsigned int timeout, const char *end, enum usb_cmds cmd, bool readonce)
{
struct cg_usb_device *usbdev;
bool ftdi;
@@ -2304,7 +2316,7 @@ int _usb_read(struct cgpu_info *cgpu, int ep, char *buf, size_t bufsiz, int *pro
err = usb_bulk_transfer(usbdev->handle,
usbdev->found->eps[ep].ep,
ptr, usbbufread, &got, timeout,
- cgpu);
+ cgpu, cmd);
cgtime(&tv_finish);
USB_STATS(cgpu, &tv_start, &tv_finish, err,
MODE_BULK_READ, cmd, first ? SEQ0 : SEQ1);
@@ -2394,7 +2406,8 @@ int _usb_read(struct cgpu_info *cgpu, int ep, char *buf, size_t bufsiz, int *pro
STATS_TIMEVAL(&tv_start);
err = usb_bulk_transfer(usbdev->handle,
usbdev->found->eps[ep].ep, ptr,
- usbbufread, &got, timeout, cgpu);
+ usbbufread, &got, timeout,
+ cgpu, cmd);
cgtime(&tv_finish);
USB_STATS(cgpu, &tv_start, &tv_finish, err,
MODE_BULK_READ, cmd, first ? SEQ0 : SEQ1);
@@ -2481,7 +2494,7 @@ out_unlock:
return err;
}
-int _usb_write(struct cgpu_info *cgpu, int ep, char *buf, size_t bufsiz, int *processed, unsigned int timeout, __maybe_unused enum usb_cmds cmd)
+int _usb_write(struct cgpu_info *cgpu, int ep, char *buf, size_t bufsiz, int *processed, unsigned int timeout, enum usb_cmds cmd)
{
struct cg_usb_device *usbdev;
#if DO_USB_STATS
@@ -2522,7 +2535,7 @@ int _usb_write(struct cgpu_info *cgpu, int ep, char *buf, size_t bufsiz, int *pr
err = usb_bulk_transfer(usbdev->handle,
usbdev->found->eps[ep].ep,
(unsigned char *)buf, bufsiz, &sent,
- timeout, cgpu);
+ timeout, cgpu, cmd);
cgtime(&tv_finish);
USB_STATS(cgpu, &tv_start, &tv_finish, err,
MODE_BULK_WRITE, cmd, first ? SEQ0 : SEQ1);