diff options
author | NIIBE Yutaka <[email protected]> | 2020-09-30 01:56:38 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2020-10-06 02:46:13 +0000 |
commit | 1f1b68eef72bed9bb7ac1eb8102f6f51d587dbc0 (patch) | |
tree | 9d603f52e073eb13350bc2abe4a0036ac4285ca8 | |
parent | scd: Internal CCID driver fix. (diff) | |
download | gnupg-1f1b68eef72bed9bb7ac1eb8102f6f51d587dbc0.tar.gz gnupg-1f1b68eef72bed9bb7ac1eb8102f6f51d587dbc0.zip |
scd: Internal CCID driver: More fix for SPR532.
* scd/ccid-driver.c (bulk_in): Handle the case of missing intr_cb.
--
Backport master commit of:
920f258eb6018ecec1d63bad6a0fb0772f72affa
GnuPG-bug-id: 5065
Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r-- | scd/ccid-driver.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/scd/ccid-driver.c b/scd/ccid-driver.c index 1736c3f2d..77528d81e 100644 --- a/scd/ccid-driver.c +++ b/scd/ccid-driver.c @@ -2148,11 +2148,11 @@ bulk_in (ccid_driver_t handle, unsigned char *buffer, size_t length, * Communication failure by device side. * Possibly, it was forcibly suspended and resumed. * - * Only detect this kind of failure when interrupt transfer is - * not supported. For card reader with interrupt transfer - * support removal is detected by intr_cb. + * For card reader with interrupt transfer support, ideally, + * removal is detected by intr_cb, but some card reader + * (e.g. SPR532) has a case of missing report to intr_cb. */ - if (handle->ep_intr < 0) + if (handle->ep_intr < 0 || handle->id_vendor == VENDOR_SCM) { DEBUGOUT ("CCID: card inactive/removed\n"); handle->powered_off = 1; |