Add a new field max_mcs_index in mlme_legacy_priv to save max mcs
index of current vdev.
Add a new field max_real_mcs_idx in hdd_station_info to save max
mcs index of the connected station.
Change-Id: I28908515cbe5c18c79f14f8645defd5c82e3a6f0
CRs-Fixed: 3065838
When N79 enabled and disable 5G and 6G band, 5G SAP will swith to 2G
band with CSA. CSA reason should be CSA_REASON_BAND_RESTRICTED.
Change-Id: Icd6cf62ee1f58834a97663f784b50f925782a3ef
CRs-Fixed: 3165067
Move the channel frequency and bandwidth check after
wlansap_get_csa_chanwidth_from_phymode API call. The API
may change the target channel bw if SAP works in concurrency
with STA on same channel.
Change-Id: I717c58e4a9e7eb6ea66b0eb56933b5508d4d83c0
CRs-Fixed: 3161386
Remove the old SAP-CSR flow for start bss, stop bss and
channel change req processing which is disabled currently
under the SAP_CP_CLEANUP macro.
Cleanup the redundant checks in the deauth, disassoc
response processing in CSR.
Change-Id: I5a360fc267688b51ca645551108b65646a3c8c1a
CRs-Fixed: 3164259
There is no need to check channel state based on AP bandwidth because
even subchannel is invalid, it is OK for 11be AP to start.
Check channel bandwidth with puncture in lim_pre_vdev_start.
Change-Id: Idad8f96164e979c5139b2ffa7d2be9c1764fbb0f
CRs-Fixed: 3159137
Remove the redundant structures and operations in CSR module
for the stop bss request/response processing to/from SAP/NDI
modules.
Change-Id: I0db36caa509699fe5e0e9709d3e3689e551aad4f
CRs-Fixed: 3148791
Remove the usage of redundant legacy structures in CSR/SAP
modules and simplify the channel change request flow from
the SAP module to LIM.
Similarly change the channel change flow for monitor mode.
Change-Id: Ib91f65307d456919f68892f45f3aa9b4fed0f0d3
CRs-Fixed: 3148761
Remove redundant structures and operations in SME/CSR.
Currently, start bss request is prepared in CSR module using
csr_roam_profile, which is built from sap context.
To remove redundencies, prepare the start bss request in SAP
module and serialize the start bss request.
Change-Id: Icd468fe2a48d5324c1485d83b05e27400c9dbd9a
CRs-Fixed: 3142912
Replace blacklist/whitelist with denylist/allowlist in
qcacld3.0. and replace blm with dlm.
Change-Id: I9ba61dde3b3ea008ca3777448d1f8dab83d33ec1
CRs-Fixed: 3091211
Add check if sap_ctx->chan_freq_before_switch_band is valid
active channel for that country. If yes, the chan_freq_before_switch_band
channel can be used for new CC, otherwise host should skip the
chan_freq_before_switch_band.
Change-Id: I4ac2fee1dd584abba0708c2b7ef0826f384acb2d
CRs-Fixed: 3136454
If STA is active on 5G DFS channel, SAP CAC duration will
be set to zero during starting. This causes the FW indicates
CAC completion event very shortly after vdev start request.
That is before SAP fsm processes BSS start success event.
SAP fsm is still in SAP_STARTING state. In this state,
the sap_cac_end_notify will only indicate the CAC end event
to hostapd. hostapd will be pending on CAC start event from
driver.
Fix by skip the CAC end event if CAC duration time is zero,
then the sap fsm will indicate CAC start/end event when
BSS start event comes up later.
Change-Id: Ib4c2ada8754bd08c0567ce9009ebec2349098b75
CRs-Fixed: 3138466
During CSA max bw is selected for SAP in STA + SAP concurrency
for non-dfs channel and SAP is tear down after 60 sec of operation
due to STA is in 20Mhz and SAP is in 40Mhz with
IEEE80211_HT_CAP_SUP_WIDTH_20_40 flag disabled.
This change is to select 20Mhz BW during CSA if channel bonding is
disabled.
Change-Id: If4ed3d9a080ed976a0f4be6704848ae4494c7bbc
CRs-Fixed: 3126074
Remove redundant structures in CSR for SAP functionality
and add a new flow to post SAP requests from SAP module to
LIM.
Change-Id: If3339cf138140ea148bbd263960907fb3a01de43
CRs-Fixed: 3123072
If the SAP is moved to DFS channel on 5G by Pre-CAC SAP interface,
Pre-CAC interface will be stopped but not deleted. Then the
driver will have two sap context objects. When the Radar event
comes to SAP interface, the existing APIs
(like sap_is_conc_sap_doing_scc_dfs) will still check Pre-CAC SAP
context to get concurrency status without checking Pre-CAC SAP's
status even though the Pre-CAC SAP is inactive. It will get wrong
result and finally cause the current SAP stuck in Radar detected
DFS channel.
Fix by check sap_context state active or not in sap concurrency
check API.
Change-Id: I5adf9e6a3ac7b45983fb627c99d9d92fe5815751
CRs-Fixed: 3127425
Channel width is getting updated in 2 different types, NL type
in some places and rest of the places in internal type.
As the enum types are different between NL type and internal
driver type, SAP channel width changes in the SAP config
during beacon updates. Due to this SAP restarts with
different channel width during SSR.
Hence updated to use only the internal channel width enum type.
Change-Id: Ifd595c079ed7c33692cb96d2514fd1259210e67d
CRs-Fixed: 3124721
If EHT is enabled and channel width is bigger than 80 MHZ, static
puncturing is applicable to this SAP.
Consider punctured channel as valid candidate channel with weight
as max ACS weight for the SAP supporting static puncturing.
Indicate puncture bitmap to hostapd. Hostapd need puncture bitmap
when generating EHT operation IE.
Change-Id: I157878cc405c83114cd82f5fac63375c02e48cab
CRs-Fixed: 3101970
This change is to update sap interface restriction mask
enum check to NL80211_IFTYPE_AP bit mask.
Change-Id: If5a6748425502b1f27654a2e6bfa0e5c2b8554de
CRs-Fixed: 3118953
Set tx power for SAP interface if it is unsafe channel and
if user sets restriction mask.
If interface unable to find safe channel and if restriction
mask is set then stop the SAP.
Change-Id: Ibdec18b9b749f18b1e9d704974f4cbaabbc4e613
CRs-Fixed: 3103307
Remove unwanted parameters from start_bss_req and use
the parameters from vdev instead.
Change-Id: Ifea96bf7908b0dae66807b7a346684fe46fdcd4e
CRs-Fixed: 3105488
CAC duration of new channel should be able to get before CSA. During
CSA, CAC duration of new channel is used to populate max channel
switch IE.
Change-Id: I25d430d3eb663c90555ebad7a214b0789ea8c1ce
CRs-Fixed: 3102581
Initialize sap bw as MAX BW in
policy_mgr_valid_sap_conc_channel_check() as
wlansap_get_csa_chanwidth_from_phymode() take care
of selecting BW for sap and it has a check that will
take minimum of selected BW and initialized BW.
If this BW is not initialized with Max BW then in cases
where original BW is 0 (20 Mhz) (cases such as channel
switch happens from 2.4Ghz to 5Ghz), the above mentioned
check will result in selected BW being 0 (20 Mhz) for
non-DBS HW.
Change-Id: I29febf09036ffa0163df58ce51b399abe2a43fe2
CRs-Fixed: 3101285
Host won't print acl mac address if size equal to MAX_ACL_MAC_ADDRESS.
The logic is unreasonable and add this change allows to print acl mac
address if size equal to MAX_ACL_MAC_ADDRESS.
Change-Id: Iabf10c7c5584d4217be98f7e1f3e67c94a6096a1
CRs-Fixed: 3100336
Add ini "disable_mcs13_support" to disable mcs13 to when SAP working
on 80p80MHZ/160MHZ/320MHZ and mcs12_13 supported.
Change-Id: Iff7043cc422cbe00fa771fe5fad9ad992d6deaf5
CRs-Fixed: 3062196
Fix filling of the SBS range, in current freq range.
And Add is current mode SBS in required APIs.
Change-Id: Ief334aa236ad18512ac5d8cf80b3a2d13d77529a
CRs-Fixed: 3093159
"sap_radar_found_status" is used to check Radar event detected
or not in CAC wait state. Clear "sap_radar_found_status" before
SAP starts to avoid the stale value saved in previous sap start or
CSA. This can happen when the SAP is restart state and get
"stop ap" request from userspace. The invalid value will
cause the wlansap_start_beacon_req retrun without deliver start
beacon msg and cause the no beacon in OTA.
Change-Id: I6336510881333e2775c29dcc167a77d5d745ace9
CRs-Fixed: 3085312
Currently, SAP state machine is moved to INIT state when SAP
start is aborted due to timeout or SSR. SAP is not cleaned up
in such cases as eWNI_SME_STOP_BSS_REQ (which further issues
vdev down and cleanup the peers properly) is not sent to
below layers(firmware).
Replace qdf_wait_for_event_completion to
wait_for_completion_timeout in start_bss which will wait
till the normal operation execute irrespective of firmware
state/SSR.
Change-Id: Ifff2ca9658769cb1145f1c5cb278cd7551cb8c00
CRs-Fixed: 3058550
If p2p go+go concurrency exist and g_enable_go_force_scc ini sets
to 2(liberal mode) then 1st p2p go channel should move to 2nd
p2p go channel after set key. Again, when user initiates CSA to
one p2p go then the force SCC doesn't happen to other p2p go.
But the expectation is all p2p go should move to same channel
which is initiated by user.
As part of fix, move all p2p go to same channel when user
initiates.
Change-Id: I1664e5a7d545d29c32b94e8e4831c71a9cc0ae23
CRs-Fixed: 3064245
At present, we select max possible band width for SAP in concurrent of
STA+SAP. If STA is working on 160Mhz, the SAP will follow the same
BW as STA. But customer doesn't want to move SAP to 160Mhz
if the original SAP starting BW is 80Mhz since the 160Mhz SAP will
have DFS limitations.
This change avoid 160Mhz selection for 5G SAP force SCC if
1. the channel switch request is not user initiated and
2. the original BW setting is not 160Mhz
Change-Id: I25a7c2ba6679eab8e3884e5b2332d7ed163de12e
CRs-Fixed: 3068284
In 3rd party platform, CNSS driver will provide
LTE avoidance channel frequency ranges by API
cnss_utils_get_wlan_unsafe_channel_sap.
Based on requirement, in single SAP case or SAP+SAP
case, ACS channel list should be filtered out based
on vendor unsafe channel frequency ranges.
Change-Id: I583c1bb2583c783858c54e8643fbe1af69d492b1
CRs-Fixed: 3061043
It may break the vdev MLME SM and lead to unexpected
behavior, if handling a new Radar event when the previous
one is still under processing.
To avoid that, ignore the new Radar event for SAP if it's
already in CSA restart state.
Change-Id: I98a77bb62133e8af660648583b0a2abda57121ab
CRs-Fixed: 3069540
Currently "is_forcescc_restart_required" flag is updated
for first go when any new go comes up. Force scc is
done as part of set key and it is expected that when CLI
joins second GO, first GO moves to new GO's channel but in
case of AUTO GO when no client is connected to first GO
and second GO comes up then "is_forcescc_restart_required"
is set for existing GO but when any client joins first GO
then as part of set key CSA is triggered for same target and
current frequency because "is_forcescc_restart_required" is true
for first AUTO GO. As target and current frequencies are same,
CSA fails and "is_forcescc_restart_required" sets to false. When
CLI joins second GO then CSA for first GO doesn't happen as
"is_forcescc_restart_required" is already changed to false as
part of first CSA attempt.
Fix is to trigger CSA only if current and target session ids are
different.
Change-Id: Ib875cdd93e08f4edc912589b867b733a1d57bdf3
CRs-Fixed: 3067847
Along with 11BE feature macro, check for Kernel 11be macro to avoid
compilation issues when kernel doesn't support 11be.
Change-Id: I9fb84b6263cbdca4cde93e3a581acdbfe0fe2b34
CRs-Fixed: 3066175
In current scenario, SAP is unable to switch from 2.4GHz to
5Ghz if previous CSA happens with reason CSA_REASON_CHAN_PASSIVE.
For instance, SAP starts on 5Ghz with Country US, and later it
changes to country 00 after MCC. Since in country 00, all 5Ghz
channels are passive, so SAP switches to 2.4Ghz with reason
CSA_REASON_CHAN_PASSIVE. Again if MCC happens to country US then
SAP is unable to switch from 2.4Ghz to 5Ghz. This is because
chan_freq_before_switch_band and chan_width_before_switch_band
are not filled in CSA_REASON_CHAN_PASSIVE case.
As part of fix, in wlansap_get_chan_band_restrict(), update the
chan_freq_before_switch_band and chan_width_before_switch_band
incase channel switch reason is CSA_REASON_CHAN_PASSIVE.
Change-Id: I9610b17cff3f6e0e5257270d2fccd5586c9913f9
CRs-Fixed: 3055017
If ini gDisableDFSChSwitch=1 is set to setup dfs test mode,
should disable dfs nol function regardless sap operation
channel dfs or not, because sap's bonded channels may have
dfs channels if bandwidth is 160M.
Fix it by invoke wlan_mlme_check_chan_param_has_dfs().
Change-Id: If42c85a3dd1b83e495d7e6a556a6769c3e9e28b6
CRs-Fixed: 3038252
Need save mlo link id and mlo link number information when starting bss.
During reinit, restore mlo link id and mlo link number information.
Change-Id: Ib188cab76d25eae6bb332b3a2ce3deb07825495b
CRs-Fixed: 3039138
Currently in liberal mode STA+GO and CLI+GO scenario is not
handled, so when sta is there and Go tries to come up then
GO should follow STA or CLI's channel in case of force scc
but as handling is not there so Go doesn't consider scc
channel.
Fix is to add handling of STA+GO and CLI+GO for liberal mode.
Change-Id: I227fb0661c5c3a41b296fd0c954ac87675f28ed6
CRs-Fixed: 3048501
Currently driver switches to a random channel when radar is detected.
Easymesh expects ap switching to a given channel.
Add API to set/get given channel. AP should switch to given channel
when radar is detected.
The given channel will be cleared after a radar detection.
Change-Id: I29b97e247583be768842c128e6a3e5d5bfd859f7
CRs-Fixed: 3034735
Channel selection for changing SAP operating channel fails if the ACS
channel list is empty in SAP context. This leads to SAP operating on
disabled channel after country code change. Modified to return successfully
without filtering the pcl in empty acs channel list cases.
Change-Id: If252e9dc4dad300892848d2add85bf121d52ae21
CRs-Fixed: 3042093
if g_sta_sap_scc_on_dfs_chan is 1, SAP can't start on DFS channel except
there is STA/P2P client on it.
When SAP start alone, when select SAP channel after ACS, need remove DFS
channel correctly by valid check.
Change-Id: Ie500816bb0aeae3efd18767e64901bf19bedd6fc
CRs-Fixed: 3036095
INI g_enable_go_force_scc states the force MCC to SCC mode.
Mode 1-strict: Implement force scc strictly as part of start bss
Mode 2-liberal: Turn on p2p go on provided channel and move
first p2p go to the new p2p go channel after set key.
Currently for p2p-GO forceSCC, support is present where no matter
what is the GO negotiated channel in start_bss, driver will force
the other GO/STA/GC channel (on the same band) to the current GO
channel. This is force SCC strict mode where value 1 is used for
g_enable_go_force_scc ini. In this mode GC will have to do full
scan as the GO channel may be different from actual negotiated
channel. DUT may see some issues if GC dosent do full scan in
this mode.
As part of this change, add support for value 2(Liberal mode)
in g_enable_go_force_scc ini. As part of this liberal mode,
driver will allow the GO to start in MCC mode and after set key,
it will check any other concurrent GO and will do forceSCC for
that GO to the newly formed GO channel.
Change-Id: Ifc7beb06335616c51dc064f48a78b825dbdbda25
CRs-Fixed: 2992098
If SAE/H2E required by hostapd configure, it must populate in
supported rate or extended support rate set, add host driver support
to check this flag and populate it in extended support rate set.
Change-Id: Id75b5743e93a1a0f1d13150d5436d256e2ca117c
CRs-Fixed: 3016492
When concurrent STA is present and DBS is capable:
If the concurrent channel is DFS channel, make sure
the maximum SAP BW is equal or less than BW of STA;
If it's NOT, and the maximum SAP BW to be set is 160MHz,
reduce it to 80MHz.
Change-Id: Id2460b9d316bf7b91175611687bada0da11d5a93
CRs-Fixed: 3032225
ARP response dropped at OSIF due to non-availability
of sta entry with MLD address.
Added sta entry in OSIF/HDD context with MLD address.
Change-Id: Iff70197ca5707b88ea80b42a60a2b1fb383f00a9
CRs-Fixed: 3017249
Sap is started on freq 5640Mhz with BW 160Mhz and radar event
generated, and then SAP moves to freq 5680Mhz.
But before the move done, the regdomain update (because of Radar
detection) will trigger the wlansap_get_chan_band_restrict to run
and further move to SAP to freq 5180Mhz.
The client side still get old CSA event with 5680Mhz, and switch to
5680Mhz and get Bmiss finally because actually SAP is moved to 5180Mhz.
The band restrict logic should not handle radar disabled channel.
The radar detected channel (in NOL) should be handled by SAP radar
channel switch logic only.
Fix by skip the band strict check if disabled channel is in NOL
list, let the SAP radar logic to handle channel switch.
Change-Id: Ic284cf48653d7ebf8bc37a33d6caf1a5e673b78e
CRs-Fixed: 3019950