Corrected config NCI_RESET_TYPE 0x01 handling
When NCI_RESET_TYPE=0x01, Core Reset cmd is still going with Keep config
on Device Reboot.
Reboot --> Core Reset with Keep Config - --> First nfc reset -->
Core Reset with Reset Config --> subsequent NFC Reset -->
Core Reset with Keep Config.
This observed behavior is corrected to behave as expected for
NCI_RESET_TYPE with 0x01.
Test: Set NCI_RESET_TYPE to 0x01 in libnfc-nci.conf and reboot and
perform NFC service off & on
Bug: 271804907
Change-Id: I4fe0ca247e57ce132b528cbe284d5ae92f0f322b
diff --git a/src/nfc/nfc/nfc_task.cc b/src/nfc/nfc/nfc_task.cc
index 023e56a..5f8d2ed 100644
--- a/src/nfc/nfc/nfc_task.cc
+++ b/src/nfc/nfc/nfc_task.cc
@@ -370,14 +370,16 @@
nfc_set_state(NFC_STATE_CORE_INIT);
/* Reset NCI configurations base on NAME_NCI_RESET_TYPE setting */
- if (nfc_nci_reset_type == 0x02) {
+ if (nfc_nci_reset_type == 0x02 || nfc_nci_reset_keep_cfg_enabled) {
/* 0x02, keep configurations. */
nci_snd_core_reset(NCI_RESET_TYPE_KEEP_CFG);
nfc_nci_reset_keep_cfg_enabled = true;
} else if (nfc_nci_reset_type == 0x01 &&
!nfc_nci_reset_keep_cfg_enabled) {
/* 0x01, reset configurations only once every boot. */
- nci_snd_core_reset(NCI_RESET_TYPE_KEEP_CFG);
+
+ nci_snd_core_reset(NCI_RESET_TYPE_RESET_CFG);
+
nfc_nci_reset_keep_cfg_enabled = true;
} else {
/* Default, reset configurations every time*/