mirror of
https://github.com/nfc-tools/libnfc.git
synced 2026-03-03 14:21:47 +00:00
Merge r511-519 from trunk.
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
* Public platform independent Near Field Communication (NFC) library
|
||||
*
|
||||
* Copyright (C) 2009, Roel Verdult
|
||||
* Copyright (C) 2010, Romain Tartière, Romuald Conty
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
@@ -220,16 +221,17 @@ void pn53x_usb_disconnect(nfc_device_t* pnd)
|
||||
int ret;
|
||||
|
||||
if((ret = usb_release_interface(pus->pudh,0)) < 0) {
|
||||
DBG("usb_release failed %i",ret);
|
||||
ERR("usb_release_interface failed (%i)",ret);
|
||||
}
|
||||
|
||||
if((ret = usb_close(pus->pudh)) < 0) {
|
||||
DBG("usb_close failed %i",ret);
|
||||
ERR("usb_close failed (%i)",ret);
|
||||
}
|
||||
|
||||
DBG("%s","resetting USB");
|
||||
usb_reset(pus->pudh);
|
||||
|
||||
/*
|
||||
if((ret = usb_reset(pus->pudh)) < 0) {
|
||||
ERR("usb_reset failed (%i, if errno: %s)",ret, strerror(-ret));
|
||||
}
|
||||
*/
|
||||
free(pnd->nds);
|
||||
free(pnd);
|
||||
}
|
||||
|
||||
14
libnfc/nfc.c
14
libnfc/nfc.c
@@ -233,12 +233,14 @@ nfc_device_t* nfc_connect(nfc_device_desc_t* pndd)
|
||||
*/
|
||||
void nfc_disconnect(nfc_device_t* pnd)
|
||||
{
|
||||
// Release and deselect all active communications
|
||||
nfc_initiator_deselect_target(pnd);
|
||||
// Disable RF field to avoid heating
|
||||
nfc_configure(pnd,NDO_ACTIVATE_FIELD,false);
|
||||
// Disconnect, clean up and release the device
|
||||
pnd->pdc->disconnect(pnd);
|
||||
if(pnd) {
|
||||
// Release and deselect all active communications
|
||||
nfc_initiator_deselect_target(pnd);
|
||||
// Disable RF field to avoid heating
|
||||
nfc_configure(pnd,NDO_ACTIVATE_FIELD,false);
|
||||
// Disconnect, clean up and release the device
|
||||
pnd->pdc->disconnect(pnd);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user