[Pcsclite-cvs-commit] r4346 - in /trunk/Drivers/ccid/src: ccid.c ccid_usb.c ccid_usb.h ifdhandler.c
rousseau at users.alioth.debian.org
rousseau at users.alioth.debian.org
Tue Jul 28 13:39:40 UTC 2009
Author: rousseau
Date: Tue Jul 28 13:39:37 2009
New Revision: 4346
URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=4346
Log:
change InterruptRead() to add a timeout parameter. We need a short
timeout in ccid_open_hack_pre()
Modified:
trunk/Drivers/ccid/src/ccid.c
trunk/Drivers/ccid/src/ccid_usb.c
trunk/Drivers/ccid/src/ccid_usb.h
trunk/Drivers/ccid/src/ifdhandler.c
Modified: trunk/Drivers/ccid/src/ccid.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/Drivers/ccid/src/ccid.c?rev=4346&op=diff
==============================================================================
--- trunk/Drivers/ccid/src/ccid.c (original)
+++ trunk/Drivers/ccid/src/ccid.c Tue Jul 28 13:39:37 2009
@@ -73,7 +73,8 @@
if (doInterruptRead && (0 == ccid_descriptor->bInterfaceProtocol))
{
#ifndef TWIN_SERIAL
- (void)InterruptRead(reader_index);
+ /* just wait for 10ms in case a notification is in the pipe */
+ (void)InterruptRead(reader_index, 10);
#endif
}
Modified: trunk/Drivers/ccid/src/ccid_usb.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/Drivers/ccid/src/ccid_usb.c?rev=4346&op=diff
==============================================================================
--- trunk/Drivers/ccid/src/ccid_usb.c (original)
+++ trunk/Drivers/ccid/src/ccid_usb.c Tue Jul 28 13:39:37 2009
@@ -965,13 +965,11 @@
*
* InterruptRead
*
- *
- ****************************************************************************/
-int InterruptRead(int reader_index)
+ ****************************************************************************/
+int InterruptRead(int reader_index, int timeout /* in ms */)
{
int ret;
char buffer[8];
- int timeout = 2*1000; /* 2 seconds */
DEBUG_PERIODIC2("before (%d)", reader_index);
ret = usb_interrupt_read(usbDevice[reader_index].handle,
Modified: trunk/Drivers/ccid/src/ccid_usb.h
URL: http://svn.debian.org/wsvn/pcsclite/trunk/Drivers/ccid/src/ccid_usb.h?rev=4346&op=diff
==============================================================================
--- trunk/Drivers/ccid/src/ccid_usb.h (original)
+++ trunk/Drivers/ccid/src/ccid_usb.h Tue Jul 28 13:39:37 2009
@@ -43,5 +43,5 @@
int ControlUSB(int reader_index, int requesttype, int request, int value,
unsigned char *bytes, unsigned int size);
-int InterruptRead(int reader_index);
+int InterruptRead(int reader_index, int timeout);
#endif
Modified: trunk/Drivers/ccid/src/ifdhandler.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/Drivers/ccid/src/ifdhandler.c?rev=4346&op=diff
==============================================================================
--- trunk/Drivers/ccid/src/ifdhandler.c (original)
+++ trunk/Drivers/ccid/src/ifdhandler.c Tue Jul 28 13:39:37 2009
@@ -303,7 +303,7 @@
if (LogLevel & DEBUG_LEVEL_PERIODIC)
DEBUG_INFO3("%s (lun: %X)", CcidSlots[reader_index].readerName, Lun);
- ret = InterruptRead(reader_index);
+ ret = InterruptRead(reader_index, 2*1000); /* 2 seconds */
if (ret > 0)
return IFD_SUCCESS;
if (0 == ret)
More information about the Pcsclite-cvs-commit
mailing list