Merge pull request #98 from manu0402/master
Introduce timeout on DESfire operations
This commit is contained in:
commit
4deb8c998a
1 changed files with 4 additions and 4 deletions
|
@ -168,8 +168,8 @@ static ssize_t read_data(FreefareTag tag, uint8_t command, uint8_t file_no, off
|
||||||
MIFARE_DESFIRE (tag)->last_pcd_error = OPERATION_OK; \
|
MIFARE_DESFIRE (tag)->last_pcd_error = OPERATION_OK; \
|
||||||
DEBUG_XFER (__msg, __len, "===> "); \
|
DEBUG_XFER (__msg, __len, "===> "); \
|
||||||
int _res; \
|
int _res; \
|
||||||
if ((_res = nfc_initiator_transceive_bytes (tag->device, __msg, __len, __res, __##res##_size + 1, 0)) < 0) { \
|
if ((_res = nfc_initiator_transceive_bytes (tag->device, __msg, __len, __res, __##res##_size + 1, 500)) < 0) { \
|
||||||
return errno = EIO, -1; \
|
return errno = (errno == ETIMEDOUT) ? errno : EIO, -1; \
|
||||||
} \
|
} \
|
||||||
__##res##_n = _res; \
|
__##res##_n = _res; \
|
||||||
DEBUG_XFER (__res, __##res##_n, "<=== "); \
|
DEBUG_XFER (__res, __##res##_n, "<=== "); \
|
||||||
|
@ -306,8 +306,8 @@ mifare_desfire_connect(FreefareTag tag)
|
||||||
uint8_t AID[] = { 0xd2, 0x76, 0x00, 0x00, 0x85, 0x01, 0x00};
|
uint8_t AID[] = { 0xd2, 0x76, 0x00, 0x00, 0x85, 0x01, 0x00};
|
||||||
BUFFER_APPEND(cmd, sizeof(AID));
|
BUFFER_APPEND(cmd, sizeof(AID));
|
||||||
BUFFER_APPEND_BYTES(cmd, AID, sizeof(AID));
|
BUFFER_APPEND_BYTES(cmd, AID, sizeof(AID));
|
||||||
if ((nfc_initiator_transceive_bytes(tag->device, cmd, BUFFER_SIZE(cmd), res, BUFFER_MAXSIZE(cmd), 0) < 0) || (res[0] != 0x90 || res[1] != 0x00)) {
|
if ((nfc_initiator_transceive_bytes(tag->device, cmd, BUFFER_SIZE(cmd), res, BUFFER_MAXSIZE(cmd), 500) < 0) || (res[0] != 0x90 || res[1] != 0x00)) {
|
||||||
errno = EIO;
|
errno = (errno == ETIMEDOUT) ? errno : EIO;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
tag->active = 1;
|
tag->active = 1;
|
||||||
|
|
Loading…
Reference in a new issue