diff options
author | NIIBE Yutaka <[email protected]> | 2020-09-28 06:52:42 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2020-09-28 06:52:42 +0000 |
commit | b1e8072320c19246962beb6d67dc5784b5a72364 (patch) | |
tree | 394006bbe756a879f761cba0a27e9cd198b14d22 /scd/ccid-driver.c | |
parent | scd: Internal CCID: Clear the handle after use. (diff) | |
download | gnupg-b1e8072320c19246962beb6d67dc5784b5a72364.tar.gz gnupg-b1e8072320c19246962beb6d67dc5784b5a72364.zip |
scd: Internal CCID: Handle LIBUSB_ERROR_TIMEOUT at ccid_get_atr.
* scd/ccid-driver.c (ccid_slot_status): Handle LIBUSB_ERROR_TIMEOUT.
--
With SPR532, at the first connection, it fails by
LIBUSB_ERROR_TIMEOUT, but no retry.
Signed-off-by: NIIBE Yutaka <[email protected]>
Diffstat (limited to 'scd/ccid-driver.c')
-rw-r--r-- | scd/ccid-driver.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/scd/ccid-driver.c b/scd/ccid-driver.c index 888d70367..2227eed89 100644 --- a/scd/ccid-driver.c +++ b/scd/ccid-driver.c @@ -2443,7 +2443,8 @@ ccid_slot_status (ccid_driver_t handle, int *statusbits, int on_wire) status and debugging enabled. */ rc = bulk_in (handle, msg, sizeof msg, &msglen, RDR_to_PC_SlotStatus, seqno, retries? 1000 : 200, 1); - if (rc == CCID_DRIVER_ERR_CARD_IO_ERROR && retries < 3) + if ((rc == CCID_DRIVER_ERR_CARD_IO_ERROR || rc == CCID_DRIVER_ERR_USB_TIMEOUT) + && retries < 3) { if (!retries) { |