diff --git a/target_if/core/inc/target_if.h b/target_if/core/inc/target_if.h index 198a541c23..0b337b455e 100644 --- a/target_if/core/inc/target_if.h +++ b/target_if/core/inc/target_if.h @@ -644,7 +644,7 @@ static inline uint32_t target_psoc_get_preferred_hw_mode (struct target_psoc_info *psoc_info) { if (psoc_info == NULL) - return (uint32_t)-1; + return WMI_HOST_HW_MODE_MAX; return psoc_info->info.preferred_hw_mode; } diff --git a/target_if/core/src/target_if_main.c b/target_if/core/src/target_if_main.c index 3a0d2ad387..0f34cebce7 100644 --- a/target_if/core/src/target_if_main.c +++ b/target_if/core/src/target_if_main.c @@ -510,6 +510,7 @@ QDF_STATUS target_if_alloc_psoc_tgt_info(struct wlan_objmgr_psoc *psoc) } wlan_psoc_set_tgt_if_handle(psoc, tgt_psoc_info); + target_psoc_set_preferred_hw_mode(tgt_psoc_info, WMI_HOST_HW_MODE_MAX); qdf_init_waitqueue_head(&tgt_psoc_info->info.event_queue); diff --git a/target_if/init_deinit/src/service_ready_util.c b/target_if/init_deinit/src/service_ready_util.c index e572b97faf..2e4b6103a1 100644 --- a/target_if/init_deinit/src/service_ready_util.c +++ b/target_if/init_deinit/src/service_ready_util.c @@ -224,7 +224,7 @@ int init_deinit_populate_hw_mode_capability(void *wmi_handle, if (status) goto return_exit; - if (preferred_mode && + if ((preferred_mode != WMI_HOST_HW_MODE_MAX) && (hw_mode_caps[hw_idx].hw_mode_id != preferred_mode)) continue; @@ -233,7 +233,7 @@ int init_deinit_populate_hw_mode_capability(void *wmi_handle, if (status) goto return_exit; - if (preferred_mode && + if ((preferred_mode != WMI_HOST_HW_MODE_MAX) && (hw_mode_caps[hw_idx].hw_mode_id == preferred_mode)) { info->num_radios = info->total_mac_phy_cnt; target_if_info("num radios is %d\n", info->num_radios); @@ -520,6 +520,9 @@ bool init_deinit_is_preferred_hw_mode_supported( info = &tgt_hdl->info; + if (info->preferred_hw_mode == WMI_HOST_HW_MODE_MAX) + return TRUE; + for (i = 0; i < target_psoc_get_total_mac_phy_cnt(tgt_hdl); i++) { if (info->mac_phy_cap[i].hw_mode_id == info->preferred_hw_mode) return TRUE;