patch introduces -ETIMEDOUT as an error return code in case of
authorHarald Welte <laforge@gnumonks.org>
Tue, 13 Jun 2006 09:34:48 +0000 (09:34 +0000)
committerHarald Welte <laforge@gnumonks.org>
Tue, 13 Jun 2006 09:34:48 +0000 (09:34 +0000)
timeout. (For *_close it's important to distinguish between 'real'
errors and timeout.) (Henryk Ploetz)

git-svn-id: https://svn.gnumonks.org/trunk/librfid@1815 e0336214-984f-0b4b-a45f-81c69e1f0ede

src/rfid_asic_rc632.c
utils/librfid-tool.c

index 803a09c..0d4a0c4 100644 (file)
@@ -192,8 +192,7 @@ rc632_wait_idle(struct rfid_asic_handle *handle, u_int64_t timeout)
 
                /* Abort after some timeout */
                if (cycles > timeout*10/USLEEP_PER_CYCLE) {
-                       fprintf(stderr, "TIMEOUT!!\n");
-                       return -1;
+                       return -ETIMEDOUT;
                }
 
                cycles++;
index 8b7f58e..edb282b 100644 (file)
@@ -17,6 +17,7 @@
 #include <unistd.h>
 #include <stdlib.h>
 #include <string.h>
+#include <errno.h>
 
 #define _GNU_SOURCE
 #include <getopt.h>
@@ -274,6 +275,8 @@ mifare_classic_read_sector(struct rfid_protocol_handle *ph, int sector)
        for (block = sector*4; block < sector*4+4; block++) {
                printf("reading block %u\n", block);
                ret = rfid_protocol_read(ph, block, buf, &len);
+               if(ret == -ETIMEDOUT)
+                       fprintf(stderr, "TIMEOUT\n");
                if (ret < 0)
                        return ret;