NFCEE status ntf handling . Avoiding nfcee status ntf handling during init.
diff --git a/src/nfa/ee/nfa_ee_act.c b/src/nfa/ee/nfa_ee_act.c
index 8d53960..3d0747a 100644
--- a/src/nfa/ee/nfa_ee_act.c
+++ b/src/nfa/ee/nfa_ee_act.c
@@ -2286,7 +2286,6 @@
if(p_cb != NULL) {
if (nfa_ee_cb.p_enable_cback)
(*nfa_ee_cb.p_enable_cback) (NFA_EE_RECOVERY);
- NFC_NfceeDiscover(true);
}
}
}
diff --git a/src/nfa/hci/nfa_hci_main.c b/src/nfa/hci/nfa_hci_main.c
index bfa3415..5728d3f 100644
--- a/src/nfa/hci/nfa_hci_main.c
+++ b/src/nfa/hci/nfa_hci_main.c
@@ -264,9 +264,19 @@
break;
case NFA_EE_RECOVERY:
/*NFCEE recovery in progress*/
- nfa_hci_cb.nfcee_cfg.discovery_stopped =
- nfa_dm_act_stop_rf_discovery(NULL);
- nfa_hci_cb.hci_state = NFA_HCI_STATE_EE_RECOVERY;
+ if (!((nfa_hci_cb.hci_state == NFA_HCI_STATE_WAIT_NETWK_ENABLE) ||
+ (nfa_hci_cb.hci_state == NFA_HCI_STATE_RESTORE_NETWK_ENABLE))) {
+ if (NFA_DM_RFST_DISCOVERY == nfa_dm_cb.disc_cb.disc_state)
+ nfa_hci_cb.nfcee_cfg.discovery_stopped = nfa_dm_act_stop_rf_discovery(NULL);
+ if(NFC_NfceeDiscover(true) == NFC_STATUS_FAILED){
+ if(nfa_hci_cb.nfcee_cfg.discovery_stopped == true) {
+ nfa_dm_act_start_rf_discovery(NULL);
+ nfa_hci_cb.nfcee_cfg.discovery_stopped = false;
+ }
+ } else {
+ nfa_hci_cb.hci_state = NFA_HCI_STATE_EE_RECOVERY;
+ }
+ }
break;
}
}