[Pcsclite-cvs-commit] r4963 - /trunk/Drivers/ccid/src/ccid_usb.c

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Thu May 27 09:49:52 UTC 2010


Author: rousseau
Date: Thu May 27 09:49:51 2010
New Revision: 4963

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=4963
Log:
OpenUSBByName(): allow the combination of USE_COMPOSITE_AS_MULTISLOT and
libhal. It does work so do not prevent its use.

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

Modified: trunk/Drivers/ccid/src/ccid_usb.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/Drivers/ccid/src/ccid_usb.c?rev=4963&op=diff
==============================================================================
--- trunk/Drivers/ccid/src/ccid_usb.c (original)
+++ trunk/Drivers/ccid/src/ccid_usb.c Thu May 27 09:49:51 2010
@@ -364,11 +364,25 @@
 						if ((GEMALTOPROXDU == readerID)
 							|| (GEMALTOPROXSU == readerID))
 						{
-							if(interface_number >= 0)
-							{
-								DEBUG_CRITICAL("USE_COMPOSITE_AS_MULTISLOT can't be used with libhal");
-								continue;
-							}
+							/*
+							 * We can't talk to the two CCID interfaces
+							 * at the same time (the reader enters a
+							 * dead lock). So we simulate a multi slot
+							 * reader. By default multi slot readers
+							 * can't use the slots at the same time. See
+							 * TAG_IFD_SLOT_THREAD_SAFE
+							 *
+							 * One side effect is that the two readers
+							 * are seen by pcscd as one reader so the
+							 * interface name is the same for the two.
+							 *
+		* So we have:
+		* 0: Gemalto Prox-DU [Prox-DU Contact_09A00795] (09A00795) 00 00
+		* 1: Gemalto Prox-DU [Prox-DU Contact_09A00795] (09A00795) 00 01
+		* instead of
+		* 0: Gemalto Prox-DU [Prox-DU Contact_09A00795] (09A00795) 00 00
+		* 1: Gemalto Prox-DU [Prox-DU Contactless_09A00795] (09A00795) 01 00
+							 */
 
 							/* the CCID interfaces are 1 and 2 */
 							interface_number = static_interface;




More information about the Pcsclite-cvs-commit mailing list