From 498cd38019b8122824d69fd194675ab532501423 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Mon, 28 Sep 2020 15:52:42 +0900 Subject: [PATCH] scd: Internal CCID: Handle LIBUSB_ERROR_TIMEOUT at ccid_get_atr. * scd/ccid-driver.c (ccid_slot_status): Handle LIBUSB_ERROR_TIMEOUT. -- Backport master commit of: b1e8072320c19246962beb6d67dc5784b5a72364 With SPR532, at the first connection, it fails by LIBUSB_ERROR_TIMEOUT, but no retry. Signed-off-by: NIIBE Yutaka --- scd/ccid-driver.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scd/ccid-driver.c b/scd/ccid-driver.c index ab4d100c9..c76695061 100644 --- a/scd/ccid-driver.c +++ b/scd/ccid-driver.c @@ -2455,7 +2455,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) {