qcacmn: Ignore default country update during wlan restart

After driver load and interface up, if user changes the country code
and performs the interface down, now if interface change timer expires,
stop modules is invoked. When user again tries to do interface up, as a
part of start modules, update channel list indication comes from FW
with default country info from BDF file which overwrites user specified
country information.

To resolve this issue, if current country is set by user and if
driver gets notification to update channel list from FW with
different country code during restart of wlan modules then ignore
master channel list and send the current user country to FW.

Change-Id: I0a0c57eda03827dc3fef59928569bf2f0bc32634
CRs-Fixed: 2340798
diff --git a/wmi_unified_priv.h b/wmi_unified_priv.h
index 0a0e9cc..042c7c0 100644
--- a/wmi_unified_priv.h
+++ b/wmi_unified_priv.h
@@ -1722,6 +1722,19 @@
 uint32_t (*convert_pdev_id_host_to_target)(uint32_t pdev_id);
 uint32_t (*convert_pdev_id_target_to_host)(uint32_t pdev_id);
 
+/*
+ * For MCL, convert_pdev_id_host_to_target returns legacy pdev id value.
+ * But in converged firmware, WMI_SET_CURRENT_COUNTRY_CMDID expects target
+ * mapping of pdev_id to give only one WMI_REG_CHAN_LIST_CC_EVENTID.
+ * wmi_pdev_id_conversion_enable cannot be used since it overwrites
+ * convert_pdev_id_host_to_target which effects legacy cases.
+ * Below two commands: convert_host_pdev_id_to_target and
+ * convert_target_pdev_id_to_host should be used for any WMI
+ * command/event where FW expects target/host mapping of pdev_id respectively.
+ */
+uint32_t (*convert_host_pdev_id_to_target)(uint32_t pdev_id);
+uint32_t (*convert_target_pdev_id_to_host)(uint32_t pdev_id);
+
 QDF_STATUS (*send_user_country_code_cmd)(wmi_unified_t wmi_handle,
 		uint8_t pdev_id, struct cc_regdmn_s *rd);