diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 469fc0828eb2..f21859fa5a98 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -2122,6 +2122,9 @@ static void hdd_update_wiphy_he_cap(struct hdd_context *hdd_ctx) uint8_t *phy_info_5g = hdd_ctx->iftype_data_5g->he_cap.he_cap_elem.phy_cap_info; uint8_t max_fw_bw = sme_get_vht_ch_width(); + uint32_t channel_bonding_mode_2g; + uint8_t *phy_info_2g = + hdd_ctx->iftype_data_2g->he_cap.he_cap_elem.phy_cap_info; status = ucfg_mlme_cfg_get_he_caps(hdd_ctx->psoc, &he_cap_cfg); @@ -2134,8 +2137,12 @@ static void hdd_update_wiphy_he_cap(struct hdd_context *hdd_ctx) hdd_ctx->iftype_data_2g->he_cap.has_he = he_cap_cfg.present; band_2g->n_iftype_data = 1; band_2g->iftype_data = hdd_ctx->iftype_data_2g; - hdd_ctx->iftype_data_2g->he_cap.he_cap_elem.phy_cap_info[0] |= - IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_IN_2G; + + ucfg_mlme_get_channel_bonding_24ghz(hdd_ctx->psoc, + &channel_bonding_mode_2g); + if (channel_bonding_mode_2g) + phy_info_2g[0] |= + IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_IN_2G; } if (band_5g) { hdd_ctx->iftype_data_5g->types_mask =