mirror of
git://git.gnupg.org/gnupg.git
synced 2025-04-17 15:44:34 +02:00
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 <gniibe@fsij.org>
This commit is contained in:
parent
33a2d4bd7f
commit
1f1b68eef7
@ -2148,11 +2148,11 @@ bulk_in (ccid_driver_t handle, unsigned char *buffer, size_t length,
|
|||||||
* Communication failure by device side.
|
* Communication failure by device side.
|
||||||
* Possibly, it was forcibly suspended and resumed.
|
* Possibly, it was forcibly suspended and resumed.
|
||||||
*
|
*
|
||||||
* Only detect this kind of failure when interrupt transfer is
|
* For card reader with interrupt transfer support, ideally,
|
||||||
* not supported. For card reader with interrupt transfer
|
* removal is detected by intr_cb, but some card reader
|
||||||
* support removal is detected by intr_cb.
|
* (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");
|
DEBUGOUT ("CCID: card inactive/removed\n");
|
||||||
handle->powered_off = 1;
|
handle->powered_off = 1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user