diff options
-rw-r--r-- | Android.mk | 5 | ||||
-rw-r--r-- | src/phHal4Nfc.c | 4 | ||||
-rw-r--r-- | src/phLibNfc.c | 10 |
3 files changed, 12 insertions, 7 deletions
@@ -106,11 +106,12 @@ LOCAL_SRC_FILES += Linux_x86/phDal4Nfc_i2c.c LOCAL_SRC_FILES += Linux_x86/phDal4Nfc_messageQueueLib.c # Really verbose: -#LOCAL_CFLAGS += -DNXP_MESSAGING -DANDROID -DDEBUG -DDAL_TRACE -DINCLUDE_DALINIT_DEINIT -pipe -fomit-frame-pointer -Wall -Wno-trigraphs -Werror-implicit-function-declaration -fno-strict-aliasing -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -msoft-float -Uarm -fno-common -fpic +#LOCAL_CFLAGS += -DNXP_MESSAGING -DANDROID -DDEBUG -DDAL_TRACE -DINCLUDE_DALINIT_DEINIT -pipe -fomit-frame-pointer -Wall -Wno-trigraphs -Werror-implicit-function-declaration -fno-strict-aliasing -fpic # Just show I2C traffic: -#LOCAL_CFLAGS += -DNXP_MESSAGING -DANDROID -DINCLUDE_DALINIT_DEINIT -DLOW_LEVEL_TRACES -pipe -fomit-frame-pointer -Wall -Wno-trigraphs -Werror-implicit-function-declaration -fno-strict-aliasing -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -msoft-float -Uarm -fno-common -fpic +#LOCAL_CFLAGS += -DNXP_MESSAGING -DANDROID -DINCLUDE_DALINIT_DEINIT -DLOW_LEVEL_TRACES -pipe -fomit-frame-pointer -Wall -Wno-trigraphs -Werror-implicit-function-declaration -fno-strict-aliasing -fpic # Quiet: LOCAL_CFLAGS += -DNXP_MESSAGING -DANDROID -DINCLUDE_DALINIT_DEINIT -pipe -fomit-frame-pointer -Wall -Wno-trigraphs -Werror-implicit-function-declaration -fno-strict-aliasing -fpic + ifeq ($(TARGET_ARCH),arm) LOCAL_CFLAGS += -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -msoft-float -Uarm -fno-common endif diff --git a/src/phHal4Nfc.c b/src/phHal4Nfc.c index 3e7c163..1263766 100644 --- a/src/phHal4Nfc.c +++ b/src/phHal4Nfc.c @@ -302,8 +302,8 @@ phHal4Nfc_Configure_Layers( #include <utils/Log.h> #include <dlfcn.h> -const unsigned char *nxp_nfc_full_version; -const unsigned char *nxp_nfc_fw; +const unsigned char *nxp_nfc_full_version = NULL; +const unsigned char *nxp_nfc_fw = NULL; int dlopen_firmware() { void *p; diff --git a/src/phLibNfc.c b/src/phLibNfc.c index e0ef435..fa28bf5 100644 --- a/src/phLibNfc.c +++ b/src/phLibNfc.c @@ -837,10 +837,14 @@ NFCSTATUS phLibNfc_Mgt_GetstackCapabilities( gpphLibContext->psHwReference->device_info.model_id; (void)memcpy(phLibNfc_StackCapabilities->psDevCapabilities.full_version, gpphLibContext->psHwReference->device_info.full_version,NXP_FULL_VERSION_LEN); - /* Check the firmware version */ - phLibNfc_StackCapabilities->psDevCapabilities.firmware_update_info = memcmp(phLibNfc_StackCapabilities->psDevCapabilities.full_version, nxp_nfc_full_version, - NXP_FULL_VERSION_LEN); + if (nxp_nfc_full_version == NULL) { + // Couldn't load firmware, just pretend we're up to date. + phLibNfc_StackCapabilities->psDevCapabilities.firmware_update_info = 0; + } else { + phLibNfc_StackCapabilities->psDevCapabilities.firmware_update_info = memcmp(phLibNfc_StackCapabilities->psDevCapabilities.full_version, nxp_nfc_full_version, + NXP_FULL_VERSION_LEN); + } if(NFCSTATUS_SUCCESS != RetVal) { |