Fix for DWP timout after receving E6 error issue
diff --git a/src/nfc/nfc/nfc_ncif.c b/src/nfc/nfc/nfc_ncif.c
index a8b0e66..8cdb867 100644
--- a/src/nfc/nfc/nfc_ncif.c
+++ b/src/nfc/nfc/nfc_ncif.c
@@ -981,6 +981,7 @@
}
if (status == NFC_STATUS_WIRED_SESSION_ABORTED) {
nfc_cb.bIsDwpResPending = true;
+ nfa_hci_cb.IsWiredSessionAborted = true;
}
nfa_sys_stop_timer(&nfa_hci_cb.timer);
if (p_cb && p_cb->p_cback)
@@ -1867,6 +1868,16 @@
if (evt_data.nfcee_id != 0xC0) {
nfc_cb.bBlockWiredMode = true;
nfc_cb.bBlkPwrlinkAndModeSetCmd = true;
+ if (!nfc_cb.bIsDwpResPending && nfa_hci_cb.assembling) {
+ /* To faster transceive time out when CE is activated with UICC during
+ * chained response being received*/
+ NFC_TRACE_DEBUG0("restarted hci timer during chained response");
+ nfa_hci_cb.IsWiredSessionAborted = true;
+ nfa_sys_stop_timer(&nfa_hci_cb.timer);
+ if (p_cb && p_cb->p_cback)
+ (*p_cb->p_cback)(nfa_hci_cb.conn_id, NFC_HCI_RESTART_TIMER,
+ (tNFC_CONN*)&evt_data);
+ }
} else {
if (evt_data.act_data.trigger == NCI_EE_TRIG_RF_TECHNOLOGY) {
nfc_cb.bBlockWiredMode = true;