summaryrefslogtreecommitdiff
path: root/rfid_asic_rc632.c
diff options
context:
space:
mode:
Diffstat (limited to 'rfid_asic_rc632.c')
-rw-r--r--rfid_asic_rc632.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/rfid_asic_rc632.c b/rfid_asic_rc632.c
index eeb6d89..fae4f01 100644
--- a/rfid_asic_rc632.c
+++ b/rfid_asic_rc632.c
@@ -576,7 +576,6 @@ rc632_iso14443a_transcieve_sf(struct rfid_asic_handle *handle,
if (ret < 0)
return ret;
-
ret = rc632_clear_bits(handle, RC632_REG_CONTROL,
RC632_CONTROL_CRYPTO1_ON);
if (ret < 0)
@@ -631,10 +630,13 @@ rc632_iso14443ab_transcieve(struct rfid_asic_handle *handle,
switch (frametype) {
case RFID_14443A_FRAME_REGULAR:
- case RFID_14443B_FRAME_REGULAR:
- channel_red = RC632_CR_TX_CRC_ENABLE|RC632_CR_TX_CRC_ENABLE
+ channel_red = RC632_CR_RX_CRC_ENABLE|RC632_CR_TX_CRC_ENABLE
|RC632_CR_PARITY_ENABLE|RC632_CR_PARITY_ODD;
break;
+ case RFID_14443B_FRAME_REGULAR:
+ channel_red = RC632_CR_RX_CRC_ENABLE|RC632_CR_TX_CRC_ENABLE
+ |RC632_CR_CRC3309;
+ break;
case RFID_MIFARE_FRAME:
channel_red = RC632_CR_PARITY_ENABLE|RC632_CR_PARITY_ODD;
break;
@@ -1255,7 +1257,7 @@ rc632_mifare_transcieve(struct rfid_asic_handle *handle,
RC632_CR_RX_CRC_ENABLE));
#endif
ret = rc632_clear_bits(handle, RC632_REG_CHANNEL_REDUNDANCY,
- RC632_CR_TX_CRC_ENABLE|RC632_CR_TX_CRC_ENABLE);
+ RC632_CR_RX_CRC_ENABLE|RC632_CR_TX_CRC_ENABLE);
if (ret < 0)
return ret;
personal git repositories of Harald Welte. Your mileage may vary