Show error codes on select and read fail in avalon.
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
diff --git a/driver-avalon.c b/driver-avalon.c
index 5b4d106..a3e96b4 100644
--- a/driver-avalon.c
+++ b/driver-avalon.c
@@ -223,12 +223,16 @@ static inline int avalon_gets(int fd, uint8_t *buf, struct thr_info *thr,
FD_ZERO(&rd);
FD_SET(fd, &rd);
ret = select(fd + 1, &rd, NULL, NULL, &timeout);
- if (unlikely(ret < 0))
+ if (unlikely(ret < 0)) {
+ applog(LOG_ERR, "Avalon: Error %d on select in avalon_gets", errno);
return AVA_GETS_ERROR;
+ }
if (ret) {
ret = read(fd, buf, read_amount);
- if (unlikely(ret < 0))
+ if (unlikely(ret < 0)) {
+ applog(LOG_ERR, "Avalon: Error %d on read in avalon_gets", errno);
return AVA_GETS_ERROR;
+ }
if (likely(first)) {
gettimeofday(tv_finish, NULL);
first = false;
@@ -307,7 +311,7 @@ static void avalon_get_reset(int fd, struct avalon_result *ar)
FD_SET(fd, &rd);
ret = select(fd + 1, &rd, NULL, NULL, &timeout);
if (unlikely(ret < 0)) {
- applog(LOG_WARNING, "Avalon: Error on select in avalon_get_reset");
+ applog(LOG_WARNING, "Avalon: Error %d on select in avalon_get_reset", errno);
return;
}
if (!ret) {
@@ -316,7 +320,7 @@ static void avalon_get_reset(int fd, struct avalon_result *ar)
}
ret = read(fd, result, read_amount);
if (unlikely(ret != read_amount)) {
- applog(LOG_WARNING, "Avalon: Error on read in avalon_get_reset");
+ applog(LOG_WARNING, "Avalon: Error %d on read in avalon_get_reset", errno);
return;
}
if (opt_debug) {