mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-12-19 02:11:28 +00:00
This series is based on * 2020-07-10 ipq6018-ilq-11-0_qca_oem-034672b0676c37b1f4519e5720e18e95fe6236ef Add support for * qsdk kernel/v4.4 * qsdk ethernet subsystem * v5.7 ath11k backport + QualComm staging patches (wlan_ap_1.0) * ath11k-firmware * hostapd/iw/... Feature support * full boot, system detection * sysupgrade to nand * HE support via latest hostapd * driver support for usb, crypto, hwmon, cpufreq, ... Missing * NSS/HW flow offloading - FW blob is not redistributable Using the qsdk v4.4 is an intermediate solution while the vanilla is being tested. Vanilla kernel is almost on feature par. Work has already started to upstream the ethernet and switch drivers. Once complete the target will be fully upstream. Signed-off-by: John Crispin <john@phrozen.org>
79 lines
2.4 KiB
Diff
79 lines
2.4 KiB
Diff
From 89fa0d75fb1be82330258082ed3d7fd452eb6076 Mon Sep 17 00:00:00 2001
|
|
From: Peter Oh <peter.oh@bowerswilkins.com>
|
|
Date: Mon, 27 Aug 2018 14:28:45 -0700
|
|
Subject: [PATCH 3/7] mesh: Allow DFS channels to be selected if dfs is enabled
|
|
|
|
Note: DFS is assumed to be usable if a country code has been set
|
|
|
|
Signed-off-by: Benjamin Berg <benjamin@sipsolutions.net>
|
|
Signed-off-by: Peter Oh <peter.oh@bowerswilkins.com>
|
|
---
|
|
wpa_supplicant/wpa_supplicant.c | 24 ++++++++++++++++++------
|
|
1 file changed, 18 insertions(+), 6 deletions(-)
|
|
|
|
--- a/wpa_supplicant/wpa_supplicant.c
|
|
+++ b/wpa_supplicant/wpa_supplicant.c
|
|
@@ -2349,6 +2349,8 @@ void ibss_mesh_setup_freq(struct wpa_sup
|
|
int chwidth, seg0, seg1;
|
|
u32 vht_caps = 0;
|
|
int is_24ghz;
|
|
+ int dfs_enabled = wpa_s->conf->country[0] &&
|
|
+ (wpa_s->drv_flags & WPA_DRIVER_FLAGS_RADAR);
|
|
|
|
freq->freq = ssid->frequency;
|
|
|
|
@@ -2436,8 +2438,11 @@ void ibss_mesh_setup_freq(struct wpa_sup
|
|
return;
|
|
|
|
/* Check primary channel flags */
|
|
- if (pri_chan->flag & (HOSTAPD_CHAN_DISABLED | HOSTAPD_CHAN_NO_IR))
|
|
+ if (pri_chan->flag & HOSTAPD_CHAN_DISABLED)
|
|
return;
|
|
+ if (pri_chan->flag & (HOSTAPD_CHAN_RADAR | HOSTAPD_CHAN_NO_IR))
|
|
+ if (!dfs_enabled)
|
|
+ return;
|
|
|
|
freq->channel = pri_chan->chan;
|
|
|
|
@@ -2470,8 +2475,11 @@ void ibss_mesh_setup_freq(struct wpa_sup
|
|
return;
|
|
|
|
/* Check secondary channel flags */
|
|
- if (sec_chan->flag & (HOSTAPD_CHAN_DISABLED | HOSTAPD_CHAN_NO_IR))
|
|
+ if (sec_chan->flag & HOSTAPD_CHAN_DISABLED)
|
|
return;
|
|
+ if (sec_chan->flag & (HOSTAPD_CHAN_RADAR | HOSTAPD_CHAN_NO_IR))
|
|
+ if (!dfs_enabled)
|
|
+ return;
|
|
|
|
if (ht40 == -1) {
|
|
if (!(pri_chan->flag & HOSTAPD_CHAN_HT40MINUS))
|
|
@@ -2564,8 +2572,11 @@ skip_ht40:
|
|
return;
|
|
|
|
/* Back to HT configuration if channel not usable */
|
|
- if (chan->flag & (HOSTAPD_CHAN_DISABLED | HOSTAPD_CHAN_NO_IR))
|
|
+ if (chan->flag & HOSTAPD_CHAN_DISABLED)
|
|
return;
|
|
+ if (chan->flag & (HOSTAPD_CHAN_RADAR | HOSTAPD_CHAN_NO_IR))
|
|
+ if (!dfs_enabled)
|
|
+ return;
|
|
}
|
|
|
|
chwidth = CHANWIDTH_80MHZ;
|
|
@@ -2585,10 +2596,11 @@ skip_ht40:
|
|
if (!chan)
|
|
continue;
|
|
|
|
- if (chan->flag & (HOSTAPD_CHAN_DISABLED |
|
|
- HOSTAPD_CHAN_NO_IR |
|
|
- HOSTAPD_CHAN_RADAR))
|
|
+ if (chan->flag & HOSTAPD_CHAN_DISABLED)
|
|
continue;
|
|
+ if (chan->flag & (HOSTAPD_CHAN_RADAR | HOSTAPD_CHAN_NO_IR))
|
|
+ if (!dfs_enabled)
|
|
+ continue;
|
|
|
|
/* Found a suitable second segment for 80+80 */
|
|
chwidth = CHANWIDTH_80P80MHZ;
|