From bd6bc472c11b9e94764db6e62e840e2f4188bf5d Mon Sep 17 00:00:00 2001 From: bings Date: Fri, 23 Jun 2017 10:14:40 +0800 Subject: [PATCH] qcacld-3.0: Correct channel width in hdd_chan_change_notify For non-11n mode, set channel_type as NL80211_CHAN_NO_HT. Change-Id: I170504990b7850fb6d8d1640fb7c661b2d43c122 CRs-Fixed: 2065328 --- core/hdd/src/wlan_hdd_hostapd.c | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c index 6d987bf54024..c4d1dad4be83 100644 --- a/core/hdd/src/wlan_hdd_hostapd.c +++ b/core/hdd/src/wlan_hdd_hostapd.c @@ -669,19 +669,23 @@ QDF_STATUS hdd_chan_change_notify(hdd_adapter_t *adapter, return QDF_STATUS_E_FAILURE; } - switch (chan_change.chan_params.sec_ch_offset) { - case PHY_SINGLE_CHANNEL_CENTERED: - channel_type = NL80211_CHAN_HT20; - break; - case PHY_DOUBLE_CHANNEL_HIGH_PRIMARY: - channel_type = NL80211_CHAN_HT40MINUS; - break; - case PHY_DOUBLE_CHANNEL_LOW_PRIMARY: - channel_type = NL80211_CHAN_HT40PLUS; - break; - default: + if (chan_change.chan_params.ch_width) { + switch (chan_change.chan_params.sec_ch_offset) { + case PHY_SINGLE_CHANNEL_CENTERED: + channel_type = NL80211_CHAN_HT20; + break; + case PHY_DOUBLE_CHANNEL_HIGH_PRIMARY: + channel_type = NL80211_CHAN_HT40MINUS; + break; + case PHY_DOUBLE_CHANNEL_LOW_PRIMARY: + channel_type = NL80211_CHAN_HT40PLUS; + break; + default: + channel_type = NL80211_CHAN_NO_HT; + break; + } + } else { channel_type = NL80211_CHAN_NO_HT; - break; } cfg80211_chandef_create(&chandef, chan, channel_type);