[Pcsclite-cvs-commit] r7021 - trunk/Drivers/ccid/src

ludovic.rousseau at free.fr ludovic.rousseau at free.fr
Thu Oct 30 10:56:23 UTC 2014


Author: rousseau
Date: 2014-10-30 10:56:23 +0000 (Thu, 30 Oct 2014)
New Revision: 7021

Modified:
   trunk/Drivers/ccid/src/ccid.c
   trunk/Drivers/ccid/src/ccid.h
   trunk/Drivers/ccid/src/ccid_serial.c
   trunk/Drivers/ccid/src/ccid_usb.c
Log:
Remove ZLP patch for Gemalto IDBridge CT30 and K30.

The patch is causing problems with the K50.
A new reader firmware (version F) solved the problem so the patch is no
more needed.

Closes Alioth bug [#314691] Gemalto ID Bridge K50 Smart card Reader does not work on USB2 with ZLP fix
https://alioth.debian.org/tracker/index.php?func=detail&aid=314691&group_id=30105&atid=410085


Modified: trunk/Drivers/ccid/src/ccid.c
===================================================================
--- trunk/Drivers/ccid/src/ccid.c	2014-10-30 10:54:11 UTC (rev 7020)
+++ trunk/Drivers/ccid/src/ccid.c	2014-10-30 10:56:23 UTC (rev 7021)
@@ -71,19 +71,6 @@
 			ccid_descriptor->readTimeout = 60*1000; /* 60 seconds */
 			break;
 
-		case GEMPCTWIN:
-		case GEMPCKEY:
-		case DELLSCRK:
-			/* Only the chipset with firmware version 2.00 is "bogus"
-			 * The reader may send packets of 0 bytes when the reader is
-			 * connected to a USB 3 port */
-			if (0x0200 == ccid_descriptor->IFD_bcdDevice)
-			{
-				ccid_descriptor->zlp = TRUE;
-				DEBUG_INFO1("ZLP fixup");
-			}
-			break;
-
 		case OZ776_7772:
 			ccid_descriptor->dwMaxDataRate = 9600;
 			break;

Modified: trunk/Drivers/ccid/src/ccid.h
===================================================================
--- trunk/Drivers/ccid/src/ccid.h	2014-10-30 10:54:11 UTC (rev 7020)
+++ trunk/Drivers/ccid/src/ccid.h	2014-10-30 10:56:23 UTC (rev 7021)
@@ -141,11 +141,6 @@
 	 * Gemalto extra features, if any
 	 */
 	struct GEMALTO_FIRMWARE_FEATURES *gemalto_firmware_features;
-
-	/*
-	 * Zero Length Packet fixup (boolean)
-	 */
-	char zlp;
 } _ccid_descriptor;
 
 /* Features from dwFeatures */

Modified: trunk/Drivers/ccid/src/ccid_serial.c
===================================================================
--- trunk/Drivers/ccid/src/ccid_serial.c	2014-10-30 10:54:11 UTC (rev 7020)
+++ trunk/Drivers/ccid/src/ccid_serial.c	2014-10-30 10:56:23 UTC (rev 7021)
@@ -607,7 +607,6 @@
 	serialDevice[reader_index].ccid.dwSlotStatus = IFD_ICC_PRESENT;
 	serialDevice[reader_index].ccid.bVoltageSupport = 0x07;	/* 1.8V, 3V and 5V */
 	serialDevice[reader_index].ccid.gemalto_firmware_features = NULL;
-	serialDevice[reader_index].ccid.zlp = FALSE;
 	serialDevice[reader_index].echo = TRUE;
 
 	/* change some values depending on the reader */

Modified: trunk/Drivers/ccid/src/ccid_usb.c
===================================================================
--- trunk/Drivers/ccid/src/ccid_usb.c	2014-10-30 10:54:11 UTC (rev 7020)
+++ trunk/Drivers/ccid/src/ccid_usb.c	2014-10-30 10:56:23 UTC (rev 7021)
@@ -655,7 +655,6 @@
 				usbDevice[reader_index].ccid.bVoltageSupport = device_descriptor[5];
 				usbDevice[reader_index].ccid.sIFD_serial_number = NULL;
 				usbDevice[reader_index].ccid.gemalto_firmware_features = NULL;
-				usbDevice[reader_index].ccid.zlp = FALSE;
 				if (desc.iSerialNumber)
 				{
 					unsigned char serial[128];
@@ -736,16 +735,6 @@
 	(void)snprintf(debug_header, sizeof(debug_header), "-> %06X ",
 		(int)reader_index);
 
-	if (usbDevice[reader_index].ccid.zlp)
-	{ /* Zero Length Packet */
-		int dummy_length;
-
-		/* try to read a ZLP so transfer length = 0
-		 * timeout of 1 ms */
-		(void)libusb_bulk_transfer(usbDevice[reader_index].dev_handle,
-			usbDevice[reader_index].bulk_in, NULL, 0, &dummy_length, 1);
-	}
-
 	DEBUG_XXD(debug_header, buffer, length);
 
 	rv = libusb_bulk_transfer(usbDevice[reader_index].dev_handle,




More information about the Pcsclite-cvs-commit mailing list