Snap for 4778776 from 972df2734d4481f91509310ccb6bf57cd07547a7 to pi-release
Change-Id: Ied545c40fe89bca3fd4685d78462c53f3fffbe5e
diff --git a/src/nfa/dm/nfa_dm_discover.cc b/src/nfa/dm/nfa_dm_discover.cc
index d494e1f..62332cb 100644
--- a/src/nfa/dm/nfa_dm_discover.cc
+++ b/src/nfa/dm/nfa_dm_discover.cc
@@ -1047,27 +1047,29 @@
if (dm_disc_mask & NFA_DM_DISC_MASK_NFC_DEP) {
nfa_p2p_set_config(dm_disc_mask);
}
- if (dm_disc_mask &
- (NFA_DM_DISC_MASK_PF_NFC_DEP | NFA_DM_DISC_MASK_PF_T3T)) {
- /* According to the NFC Forum Activity spec, controllers must:
- * 1) Poll with RC=0 and SC=FFFF to find NFC-DEP targets
- * 2) Poll with RC=1 and SC=FFFF to find T3T targets
- * Many controllers don't do this yet, and seem to be activating
- * NFC-DEP by default.
- *
- * We can at least fix the scenario where we're not interested
- * in NFC-DEP, by setting RC=1 in that case. Otherwise, keep
- * the default of RC=0. */
- p = config_params;
- UINT8_TO_STREAM(p, NFC_PMID_PF_RC);
- UINT8_TO_STREAM(p, NCI_PARAM_LEN_PF_RC);
- if ((dm_disc_mask & NFA_DM_DISC_MASK_PF_NFC_DEP) &&
- !nfa_dm_is_p2p_paused()) {
- UINT8_TO_STREAM(p, 0x00); // RC=0
- } else {
- UINT8_TO_STREAM(p, 0x01); // RC=1
+ if (NFC_GetNCIVersion() == NCI_VERSION_1_0) {
+ if (dm_disc_mask &
+ (NFA_DM_DISC_MASK_PF_NFC_DEP | NFA_DM_DISC_MASK_PF_T3T)) {
+ /* According to the NFC Forum Activity spec, controllers must:
+ * 1) Poll with RC=0 and SC=FFFF to find NFC-DEP targets
+ * 2) Poll with RC=1 and SC=FFFF to find T3T targets
+ * Many controllers don't do this yet, and seem to be activating
+ * NFC-DEP by default.
+ *
+ * We can at least fix the scenario where we're not interested
+ * in NFC-DEP, by setting RC=1 in that case. Otherwise, keep
+ * the default of RC=0. */
+ p = config_params;
+ UINT8_TO_STREAM(p, NFC_PMID_PF_RC);
+ UINT8_TO_STREAM(p, NCI_PARAM_LEN_PF_RC);
+ if ((dm_disc_mask & NFA_DM_DISC_MASK_PF_NFC_DEP) &&
+ !nfa_dm_is_p2p_paused()) {
+ UINT8_TO_STREAM(p, 0x00); // RC=0
+ } else {
+ UINT8_TO_STREAM(p, 0x01); // RC=1
+ }
+ nfa_dm_check_set_config(p - config_params, config_params, false);
}
- nfa_dm_check_set_config(p - config_params, config_params, false);
}
}
diff --git a/src/nfa/ee/nfa_ee_act.cc b/src/nfa/ee/nfa_ee_act.cc
index a9d5cd6..743034d 100644
--- a/src/nfa/ee/nfa_ee_act.cc
+++ b/src/nfa/ee/nfa_ee_act.cc
@@ -951,12 +951,12 @@
return;
}
- p_cb->proto_switch_on = p_data->set_proto.protocols_switch_on;
- p_cb->proto_switch_off = p_data->set_proto.protocols_switch_off;
- p_cb->proto_battery_off = p_data->set_proto.protocols_battery_off;
- p_cb->proto_screen_lock = p_data->set_proto.protocols_screen_lock;
- p_cb->proto_screen_off = p_data->set_proto.protocols_screen_off;
- p_cb->proto_screen_off_lock = p_data->set_proto.protocols_screen_off_lock;
+ p_cb->proto_switch_on |= p_data->set_proto.protocols_switch_on;
+ p_cb->proto_switch_off |= p_data->set_proto.protocols_switch_off;
+ p_cb->proto_battery_off |= p_data->set_proto.protocols_battery_off;
+ p_cb->proto_screen_lock |= p_data->set_proto.protocols_screen_lock;
+ p_cb->proto_screen_off |= p_data->set_proto.protocols_screen_off;
+ p_cb->proto_screen_off_lock |= p_data->set_proto.protocols_screen_off_lock;
nfa_ee_update_route_size(p_cb);
if (nfa_ee_total_lmrt_size() > NFC_GetLmrtSize()) {
LOG(ERROR) << StringPrintf("nfa_ee_api_set_proto_cfg Exceed LMRT size");