diff options
| author | Werner Koch <[email protected]> | 2017-11-23 14:12:45 +0000 |
|---|---|---|
| committer | Werner Koch <[email protected]> | 2017-11-23 14:12:45 +0000 |
| commit | fe96ca8d86881a611816a6de4047f00c69325ea5 (patch) | |
| tree | 6d4a31ad49c34010b117dc5db7575877225ddb1b /scd/ccid-driver.c | |
| parent | doc: clarify that --encrypt refers to public key encryption (diff) | |
| parent | build: Update distsigkey.gpg (diff) | |
| download | gnupg-fe96ca8d86881a611816a6de4047f00c69325ea5.tar.gz gnupg-fe96ca8d86881a611816a6de4047f00c69325ea5.zip | |
Merge branch 'STABLE-BRANCH-2-2'
--
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'scd/ccid-driver.c')
| -rw-r--r-- | scd/ccid-driver.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/scd/ccid-driver.c b/scd/ccid-driver.c index 9c22f5188..4f4a32dfc 100644 --- a/scd/ccid-driver.c +++ b/scd/ccid-driver.c @@ -1661,9 +1661,6 @@ ccid_open_usb_reader (const char *spec_reader_name, } } - if ((*handle)->ep_intr >= 0) - ccid_setup_intr (*handle); - rc = ccid_vendor_specific_init (*handle); leave: @@ -2311,6 +2308,11 @@ ccid_slot_status (ccid_driver_t handle, int *statusbits, int on_wire) no need to send on wire. */ if (!on_wire && !ccid_require_get_status (handle)) { + /* Setup interrupt transfer at the initial call of slot_status + with ON_WIRE == 0 */ + if (handle->transfer == NULL && handle->ep_intr >= 0) + ccid_setup_intr (handle); + *statusbits = 0; return 0; } @@ -3748,7 +3750,7 @@ main (int argc, char **argv) if (!no_poll) ccid_poll (ccid); fputs ("getting slot status ...\n", stderr); - rc = ccid_slot_status (ccid, &slotstat); + rc = ccid_slot_status (ccid, &slotstat, 1); if (rc) { print_error (rc); |
