[Pcsclite-cvs-commit] r2765 - /trunk/PCSC/src/hotplug_libhal.c

rousseau at users.alioth.debian.org rousseau at users.alioth.debian.org
Thu Jan 24 10:30:00 UTC 2008


Author: rousseau
Date: Thu Jan 24 10:29:59 2008
New Revision: 2765

URL: http://svn.debian.org/wsvn/pcsclite/?sc=1&rev=2765
Log:
HPAddDevice(): remove the device from readerTracker[] if RFAddReader()
fails

Modified:
    trunk/PCSC/src/hotplug_libhal.c

Modified: trunk/PCSC/src/hotplug_libhal.c
URL: http://svn.debian.org/wsvn/pcsclite/trunk/PCSC/src/hotplug_libhal.c?rev=2765&op=diff
==============================================================================
--- trunk/PCSC/src/hotplug_libhal.c (original)
+++ trunk/PCSC/src/hotplug_libhal.c Thu Jan 24 10:29:59 2008
@@ -324,6 +324,7 @@
 	char deviceName[MAX_DEVICENAME];
 	DBusError error;
 	struct _driverTracker *driver;
+	LONG ret;
 
 	dbus_error_init (&error);
 
@@ -386,8 +387,16 @@
 		dbus_error_free(&error);
 #endif
 
-	RFAddReader(readerTracker[i].fullName, PCSCLITE_HP_BASE_PORT + i,
+	ret = RFAddReader(readerTracker[i].fullName, PCSCLITE_HP_BASE_PORT + i,
 		driver->libraryPath, deviceName);
+	if (SCARD_S_SUCCESS != ret)
+	{
+		Log2(PCSC_LOG_ERROR, "Failed adding USB device: %s", short_name(udi));
+		free(readerTracker[i].fullName);
+		readerTracker[i].fullName = NULL;
+		free(readerTracker[i].udi);
+		readerTracker[i].udi = NULL;
+	}
 
 	SYS_MutexUnLock(&usbNotifierMutex);
 } /* HPAddDevice */




More information about the Pcsclite-cvs-commit mailing list