summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Kocialkowski <contact@paulk.fr>2013-11-11 21:08:24 +0100
committerPaul Kocialkowski <contact@paulk.fr>2013-11-11 21:08:24 +0100
commit85af7251179c3cf53c785e9a055942d3ab6462c1 (patch)
treeb533d7bdaffddf95418e006d7be939b2466bdd70
parentf64f7e90f9c0dd6f4c52c66a5fd54d9af754c675 (diff)
downloadexternal_libnfc-nxp-replicant-4.2-0002.zip
external_libnfc-nxp-replicant-4.2-0002.tar.gz
external_libnfc-nxp-replicant-4.2-0002.tar.bz2
Properly handle missing firmwaresreplicant-4.2-0002replicant-4.2-0001
Change-Id: I9f732f6e1ded628ab24cae6cfb18aa3d6d527201 Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
-rwxr-xr-xsrc/phHal4Nfc.c10
-rw-r--r--src/phLibNfc.c5
2 files changed, 13 insertions, 2 deletions
diff --git a/src/phHal4Nfc.c b/src/phHal4Nfc.c
index f40ed9b..3be1589 100755
--- a/src/phHal4Nfc.c
+++ b/src/phHal4Nfc.c
@@ -357,6 +357,8 @@ NFCSTATUS phHal4Nfc_Open(
NFCSTATUS openRetVal = NFCSTATUS_SUCCESS;
phHal4Nfc_Hal4Ctxt_t *Hal4Ctxt = NULL;
phHciNfc_Init_t eHciInitType = (phHciNfc_Init_t)InitType;
+ int rc;
+
/*Set Default Clock settings once*/
static phHal_sHwConfig_t sHwConfig = {
{0},
@@ -377,7 +379,13 @@ NFCSTATUS phHal4Nfc_Open(
else/*Do an initialization*/
{
#ifdef ANDROID
- dlopen_firmware();
+ rc = dlopen_firmware();
+ if(rc < 0)
+ {
+ openRetVal = NFCSTATUS_FAILED;
+ pOpenCallback(pContext, openRetVal);
+ return openRetVal;
+ }
#endif
/*If hal4 ctxt in Hwreference is NULL create a new context*/
diff --git a/src/phLibNfc.c b/src/phLibNfc.c
index 6477a3f..63daaa2 100644
--- a/src/phLibNfc.c
+++ b/src/phLibNfc.c
@@ -230,13 +230,16 @@ NFCSTATUS phLibNfc_Mgt_Initialize(void *pDriverHandle,
eInitDefault,
phLibNfc_InitCb,
(void *)gpphLibContext);
+ if(Status!=NFCSTATUS_FAILED)
+ {
+ phLibNfc_Ndef_Init();
+ }
}
}
else
{
Status = NFCSTATUS_INSUFFICIENT_RESOURCES;
}
- phLibNfc_Ndef_Init();
}
}
else if(gpphLibContext->LibNfcState.next_state==eLibNfcHalStateShutdown)