summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlaforge <laforge@e0336214-984f-0b4b-a45f-81c69e1f0ede>2008-05-24 13:23:03 +0000
committerlaforge <laforge@e0336214-984f-0b4b-a45f-81c69e1f0ede>2008-05-24 13:23:03 +0000
commitf835206e57b76cbc300d8510257f171e4f259ea0 (patch)
tree60027656001145de1c5e5b515c27d6831289f458
parent77fc8096e2303a22fe02998370d565d48e2babdf (diff)
add CRC check to ISO15693 (Bjoern Riemer)
git-svn-id: https://svn.gnumonks.org/trunk/librfid@2104 e0336214-984f-0b4b-a45f-81c69e1f0ede
-rw-r--r--src/rfid_asic_rc632.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/rfid_asic_rc632.c b/src/rfid_asic_rc632.c
index c93ba81..1c64558 100644
--- a/src/rfid_asic_rc632.c
+++ b/src/rfid_asic_rc632.c
@@ -521,7 +521,7 @@ rc632_transceive(struct rfid_asic_handle *handle,
rc632_reg_read(handle, RC632_REG_CHANNEL_REDUNDANCY, &tmp);
//return 0;
- return -1;
+ return -EIO;
}
return rc632_fifo_read(handle, *rx_len, rx_buf);
@@ -1769,7 +1769,7 @@ rc632_iso15693_transceive_ac(struct rfid_asic_handle *handle,
ret = rc632_transceive(handle, (u_int8_t *)acf, acf_len,
(u_int8_t *) resp, rx_len,
iso15693_timing[rate][ISO15693_T1], 0);
- if (ret == -ETIMEDOUT)
+ if (ret == -ETIMEDOUT || ret == -EIO)
return ret;
/* determine whether there was a collission */
@@ -1787,6 +1787,8 @@ rc632_iso15693_transceive_ac(struct rfid_asic_handle *handle,
*bit_of_col = boc;
} else {
*bit_of_col = 0;
+ if (error_flag & RC632_ERR_FLAG_CRC_ERR)
+ return -EIO;
}
return 0;
personal git repositories of Harald Welte. Your mileage may vary