From f1bbb413e40121009ab894fdee350c0f1c5db445 Mon Sep 17 00:00:00 2001 From: Liangwei Dong Date: Tue, 11 Aug 2020 18:12:34 +0800 Subject: [PATCH] qcacld-3.0: Fix 160Mhz SAP channel switch failure For channel switch event, the kernel expects the center_freq1 contains the channel center frequency of 160MHz. Use the the mhz_freq_seg1 of chan parameter to fill the kernel struct. Change-Id: I4ad7cb2a0a1f93f324b9afb63493888984006194 CRs-Fixed: 2744698 --- core/hdd/src/wlan_hdd_hostapd.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c index b25d6d543ab6..858de338d1d9 100644 --- a/core/hdd/src/wlan_hdd_hostapd.c +++ b/core/hdd/src/wlan_hdd_hostapd.c @@ -893,14 +893,16 @@ QDF_STATUS hdd_chan_change_notify(struct hdd_adapter *adapter, break; case CH_WIDTH_160MHZ: chandef.width = NL80211_CHAN_WIDTH_160; + if (chan_change.chan_params.mhz_freq_seg1) + chandef.center_freq1 = + chan_change.chan_params.mhz_freq_seg1; break; default: break; } if ((chan_change.chan_params.ch_width == CH_WIDTH_80MHZ) || - (chan_change.chan_params.ch_width == CH_WIDTH_80P80MHZ) || - (chan_change.chan_params.ch_width == CH_WIDTH_160MHZ)) { + (chan_change.chan_params.ch_width == CH_WIDTH_80P80MHZ)) { if (chan_change.chan_params.mhz_freq_seg0) chandef.center_freq1 = chan_change.chan_params.mhz_freq_seg0;