[SINGLE BINARY] Single binary
diff --git a/src/adaptation/NfcAdaptation.cpp b/src/adaptation/NfcAdaptation.cpp
index de21ad5..99d659d 100644
--- a/src/adaptation/NfcAdaptation.cpp
+++ b/src/adaptation/NfcAdaptation.cpp
@@ -81,6 +81,7 @@
tHAL_NFC_DATA_CBACK* NfcAdaptation::mHalDataCallback = NULL;
ThreadCondVar NfcAdaptation::mHalOpenCompletedEvent;
ThreadCondVar NfcAdaptation::mHalCloseCompletedEvent;
+ThreadCondVar NfcAdaptation::mHalIoctlEvent;
#if (NXP_EXTNS == TRUE)
ThreadCondVar NfcAdaptation::mHalCoreResetCompletedEvent;
ThreadCondVar NfcAdaptation::mHalCoreInitCompletedEvent;
@@ -578,6 +579,7 @@
*******************************************************************************/
int NfcAdaptation::HalIoctl(long arg, void* p_data) {
const char* func = "NfcAdaptation::HalIoctl";
+ mHalIoctlEvent.lock();
::android::hardware::nfc::V1_0::NfcData data;
nfc_nci_IoctlInOutData_t* pInpOutData = (nfc_nci_IoctlInOutData_t*)p_data;
int status = 0;
@@ -587,6 +589,7 @@
data.setToExternal((uint8_t*)pInpOutData, sizeof(nfc_nci_IoctlInOutData_t));
mHalNxpNfc->ioctl(arg, data, IoctlCallback);
ALOGD("%s Ioctl Completed for Type=%llu", func, pInpOutData->out.ioctlType);
+ mHalIoctlEvent.unlock();
return (pInpOutData->out.result);
}
diff --git a/src/include/NfcAdaptation.h b/src/include/NfcAdaptation.h
index 7d17854..e3ce61a 100644
--- a/src/include/NfcAdaptation.h
+++ b/src/include/NfcAdaptation.h
@@ -122,6 +122,7 @@
static tHAL_NFC_DATA_CBACK* mHalDataCallback;
static ThreadCondVar mHalOpenCompletedEvent;
static ThreadCondVar mHalCloseCompletedEvent;
+ static ThreadCondVar mHalIoctlEvent;
static android::sp<android::hardware::nfc::V1_0::INfc> mHal;
static android::sp<vendor::nxp::nxpnfc::V1_0::INxpNfc> mHalNxpNfc;
static android::hardware::nfc::V1_0::INfcClientCallback* mCallback;