1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-11-10 21:38:50 +01:00

scd: Internal CCID driver fix.

* scd/ccid-driver.c (intr_cb): More useful debug output.
(ccid_slot_status): Remove redundant condition.

--

Backport master commit of:

	1444203ca3

Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
NIIBE Yutaka 2020-09-29 13:27:19 +09:00
parent 48565e7a08
commit 33a2d4bd7f

View File

@ -1496,7 +1496,8 @@ intr_cb (struct libusb_transfer *transfer)
{ {
ccid_driver_t handle = transfer->user_data; ccid_driver_t handle = transfer->user_data;
DEBUGOUT_1 ("CCID: interrupt callback %d\n", transfer->status); DEBUGOUT_2 ("CCID: interrupt callback %d (%d)\n",
transfer->status, transfer->actual_length);
if (transfer->status == LIBUSB_TRANSFER_TIMED_OUT) if (transfer->status == LIBUSB_TRANSFER_TIMED_OUT)
{ {
@ -1523,6 +1524,8 @@ intr_cb (struct libusb_transfer *transfer)
if (len < 2) if (len < 2)
break; break;
DEBUGOUT_1 ("CCID: NotifySlotChange: %02x\n", p[1]);
if ((p[1] & 1)) if ((p[1] & 1))
card_removed = 0; card_removed = 0;
else else
@ -2422,7 +2425,7 @@ ccid_slot_status (ccid_driver_t handle, int *statusbits, int on_wire)
{ {
/* Setup interrupt transfer at the initial call of slot_status /* Setup interrupt transfer at the initial call of slot_status
with ON_WIRE == 0 */ with ON_WIRE == 0 */
if (handle->transfer == NULL && handle->ep_intr >= 0) if (handle->transfer == NULL)
{ {
ccid_setup_intr (handle); ccid_setup_intr (handle);
if (handle->id_vendor == VENDOR_SCM) if (handle->id_vendor == VENDOR_SCM)