Fix NFC device autodetection.

This commit is contained in:
Romuald Conty 2009-12-07 13:53:15 +00:00
parent 309cbd6635
commit 1909518572

View file

@ -118,19 +118,20 @@ nfc_device_t* nfc_connect(nfc_device_desc_t* pndd)
// Search through the device list for an available device // Search through the device list for an available device
for (uiDriver=0; uiDriver<sizeof(drivers_callbacks_list)/sizeof(drivers_callbacks_list[0]); uiDriver++) for (uiDriver=0; uiDriver<sizeof(drivers_callbacks_list)/sizeof(drivers_callbacks_list[0]); uiDriver++)
{ {
if (pndd == NULL) { if(pndd == NULL) {
// No device description specified: try to automatically claim a device // No device description specified: try to automatically claim a device
if(drivers_callbacks_list[uiDriver].pick_device != NULL) { if(drivers_callbacks_list[uiDriver].pick_device != NULL) {
DBG("Autodetecting available devices using %s driver.", drivers_callbacks_list[uiDriver].acDriver); DBG("Autodetecting available devices using %s driver.", drivers_callbacks_list[uiDriver].acDriver);
pndd = drivers_callbacks_list[uiDriver].pick_device (); pndd = drivers_callbacks_list[uiDriver].pick_device ();
}
// auto-connect with NULL descriptor is allowed (NULL means "first available") if(pndd != NULL) {
DBG("Auto-connecting to %s using %s driver", pndd->acDevice, drivers_callbacks_list[uiDriver].acDriver); DBG("Auto-connecting to %s using %s driver", pndd->acDevice, drivers_callbacks_list[uiDriver].acDriver);
pnd = drivers_callbacks_list[uiDriver].connect(pndd); pnd = drivers_callbacks_list[uiDriver].connect(pndd);
if(pnd == NULL) if(pnd == NULL) {
{ DBG("No device available using %s driver",drivers_callbacks_list[uiDriver].acDriver);
DBG("%s Not found",drivers_callbacks_list[uiDriver].acDriver); pndd = NULL;
pndd = NULL; }
}
} }
} else { } else {
// Specific device is requested: using device description pndd // Specific device is requested: using device description pndd