[Pcsclite-cvs-commit] r4521 - /trunk/Drivers/ccid/src/ccid_serial.c

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Wed Oct 28 13:40:05 UTC 2009


Author: rousseau
Date: Wed Oct 28 13:39:53 2009
New Revision: 4521

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=4521
Log:
set_ccid_descriptor(): reset dwSlotStatus to IFD_ICC_PRESENT for the
other slots of a multislot reader (like a GemCore SIM Pro).

This is needed because the state of dwSlotStatus may have already been
changed to IFD_ICC_NOT_PRESENT (by the polling thread) when the second
slot is created. The polling thread of the second slot would then never
check for a card since this check is only done once. Slots are SAMs and
the card is always present or absent.

The problem was already dealt with on USB from the beginning but not on
serial.

Thanks to Emmanuel Deloget for the patch.

Modified:
    trunk/Drivers/ccid/src/ccid_serial.c

Modified: trunk/Drivers/ccid/src/ccid_serial.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/Drivers/ccid/src/ccid_serial.c?rev=4521&op=diff
==============================================================================
--- trunk/Drivers/ccid/src/ccid_serial.c (original)
+++ trunk/Drivers/ccid/src/ccid_serial.c Wed Oct 28 13:39:53 2009
@@ -544,6 +544,7 @@
 
 			*serialDevice[reader_index].nb_opened_slots += 1;
 			serialDevice[reader_index].ccid.bCurrentSlotIndex++;
+			serialDevice[reader_index].ccid.dwSlotStatus = IFD_ICC_PRESENT;
 			DEBUG_INFO2("Opening slot: %d",
 					serialDevice[reader_index].ccid.bCurrentSlotIndex);
 			switch (readerID)




More information about the Pcsclite-cvs-commit mailing list