diff options
author | NIIBE Yutaka <[email protected]> | 2020-09-29 04:25:14 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2020-10-06 02:44:57 +0000 |
commit | 48565e7a08d64e3628da8baa80541841af0a6166 (patch) | |
tree | e5c883b36b38d7f561a0142e9d92925087d7838b | |
parent | scd: Internal CCID driver: Fix a failure path. (diff) | |
download | gnupg-48565e7a08d64e3628da8baa80541841af0a6166.tar.gz gnupg-48565e7a08d64e3628da8baa80541841af0a6166.zip |
scd: Internal CCID driver: Call libusb_clear_halt at ccid_setup_intr.
* scd/ccid-driver.c (ccid_setup_intr): Reset the endpoint.
(ccid_vendor_specific_init): Don't call libusb_clear_halt.
--
Backport master commit of:
6af978713e4c69d7814f47e709f1dfb3fe9076d1
Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r-- | scd/ccid-driver.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/scd/ccid-driver.c b/scd/ccid-driver.c index 0ff3dc902..a508ac5cc 100644 --- a/scd/ccid-driver.c +++ b/scd/ccid-driver.c @@ -1289,9 +1289,6 @@ ccid_vendor_specific_init (ccid_driver_t handle) * and SET_INTERFACE doesn't reset it. Make sure it works at the init. */ abort_cmd (handle, 0); - r = libusb_clear_halt (handle->idev, handle->ep_intr); - DEBUGOUT_1 ("libusb_clear_halt intr: %s\n", libusb_error_name (r)); - r = 0; } if (r != 0 && r != CCID_DRIVER_ERR_CARD_INACTIVE @@ -1583,6 +1580,7 @@ ccid_setup_intr (ccid_driver_t handle) struct libusb_transfer *transfer; int err; + libusb_clear_halt (handle->idev, handle->ep_intr); transfer = libusb_alloc_transfer (0); handle->transfer = transfer; libusb_fill_interrupt_transfer (transfer, handle->idev, handle->ep_intr, |