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 <gniibe@fsij.org>
This commit is contained in:
NIIBE Yutaka 2020-09-28 15:52:42 +09:00
parent c5e8ef3ab9
commit b1e8072320
1 changed files with 2 additions and 1 deletions

View File

@ -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)
{