Browse Source

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
Liangwei Dong 4 years ago
parent
commit
f1bbb413e4
1 changed files with 4 additions and 2 deletions
  1. 4 2
      core/hdd/src/wlan_hdd_hostapd.c

+ 4 - 2
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;