From 0bb7fd0cab2d53cd0d44b21301b23edfe817e66b Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Tue, 21 Nov 2017 11:52:54 +0900 Subject: scd: Enable card removal check after select_application. * scd/apdu.c (open_ccid_reader): Fix error handling of ccid_get_atr. * scd/app.c (select_application): Always kick the loop if new APP. * scd/ccid-driver.c (ccid_open_usb_reader): Don't setup at open. (ccid_slot_status): Setup interrupt transfer when !ON_WIRE. -- We can use the interrupt transfer to be notified about card status change. In this case, we don't need to issue PC_to_RDR_GetSlotStatus command. This change improve the setup the notification; it should be done after registration of APP. When the setup is done just after opening the USB connection (before issuing PC_to_RDR_IccPowerOn), a reader might notifies about no card availability (because of not yet powered on), even though the card is ready to be powered on. GnuPG-bug-id: 3508 Signed-off-by: NIIBE Yutaka --- scd/scdaemon.c | 1 + 1 file changed, 1 insertion(+) (limited to 'scd/scdaemon.c') diff --git a/scd/scdaemon.c b/scd/scdaemon.c index 60d539ddd..0bedb8de2 100644 --- a/scd/scdaemon.c +++ b/scd/scdaemon.c @@ -1003,6 +1003,7 @@ handle_signal (int signo) case SIGCONT: /* Nothing. */ + log_debug ("SIGCONT received - breaking select\n"); break; case SIGTERM: -- cgit v1.2.3