Assign the sap_ctx->ch_params from the whole struct of
config->ch_params. This is to fix some fields missing
in sap_ctx->ch_params, such as "mhz_freq_seg0".
Change-Id: Id6e6be50635001faf45c84d136976cc27f41c7d5
CRs-Fixed: 2962952
Currently SAR safety feature works only for sar version 2
and it does not work for dbs.
To support SAR safety feature for DBS update sar version
check to block it only for sar version 1.
Change-Id: Iff9ab94fc0667cce7a0d1ab44d7393dacfb2745b
CRs-Fixed: 2959558
If WoW not support, not advertise wiphy_wowlan_support when registering
wiphy device. To make sure wiphy_suspend can follow the flow of
WoW not support.
Change-Id: I4bbaec9ba4268099507567b4e03cee51ee1d11f7
CRs-Fixed: 2961094
As part of regulatory cleanup, wlan_chan_to_freq() is removed.
Use wlan_reg_legacy_chan_to_freq()/wlan_reg_chan_band_to_freq()
instead of wlan_chan_to_freq().
Change-Id: I9d105863f8d6384c97e8219b89a230c863e29d19
CRs-Fixed: 2933440
Processing multiple connection requests at the same time may break
concurrency checking and result in unexpected behavior, to avoid
that, reject NAN extended request if any other connection is in
progress.
Change-Id: I95a6a5ab27a923c42af76355033267fe7ca453eb
CRs-Fixed: 2959292
The WTC parameters are stored in MLME vdev private object.
So the parameters are cleared once vdev delete is done.
Move the WTC parameters to psoc->mlme_cfg to retain the
values across disconnections.
Change-Id: Icecfbef19af994f8a05622501d435bfb63beca50
CRs-Fixed: 2959715
Set peer map v2 in the target resource config only when
the wds mode is enabled in the ini "wds_mode".
CRs-Fixed: 2958287
Change-Id: Ifbedc8c29e8c6278875ad13c6fe6b0fb557feece
Existing INI disable_4way_hs_offload is defined as a boolean
that controls the EAPOL Handshake to be offloaded to Firmware or
Not. There is no way to specify the EAPOL offload per AKM.
Hence extended the support of EAPOL handshake offload to firmware
per AKM by converting this INI to a bitmap integer.
With ini value as 0 by default Firmware takes care of 4-way HS
during roam for all AKMs except for SAE and OWE. If
this ini value is 1 then Host takes care of EAPOL for all AKMs.
Having the backward compatibility, added a new value to ini.
If this ini value is set to 2 and also if the SAE EAPOL offload
service bit is set by Firmware then the behavior is same as ini
with 0 except that Firmware takes care of 4-way HS for SAE roam
as well. And for OWE it is still handled by supplicant.
To achieve this, new roam offload flag is introduced to indicate
Firmware about SAE roam EAPOL offload, So that in Roam sync
indication Firmware will inform the status as connected but not
authenticated so that supplicant can take care of 4-way EAPOL HS.
Change-Id: I8b65a1768fad91fac7e427712d3ccf4586176f5f
CRs-Fixed: 2955029
Refactor fisa history to not directly access "struct rx_pkt_tlvs". This
is needed since rx_pkt_tlv size may be different for Li and Be
architectures.
CRs-Fixed: 2891099
Change-Id: If7359680538128c7b093aef9f2991756a2f753f7
Change direct RX TLV usage to using HAL APIs to populate RX packet
capture params.
CRs-Fixed: 2888534
Change-Id: Ib20e72ddb214e2579d2eabb92630604dc5b88526
Add the changes in FISA/pkt-capture APIs due to the
modifications in the hal APIs to get rx tlv params.
Change-Id: I5b1827079ca2e056da0db5e396ca90aec57f559b
CRs-Fixed: 2888534
User configures CFR data transport mode using vendor command
QCA_NL80211_VENDOR_SUBCMD_PEER_CFR_CAPTURE_CFG and attr
QCA_WLAN_VENDOR_ATTR_PEER_CFR_DATA_TRANSPORT_MODE. Host sends
CFR data to userspace via relayfs if transport mode set is
QCA_WLAN_VENDOR_CFR_DATA_RELAY_FS else if transport mode is set
to QCA_WLAN_VENDOR_CFR_DATA_NETLINK_EVENTS, host sends CFR data
via NL events. By default transport mode is relayfs.
To get CFR data as unicast NL events, user configures PID of a
process using vendor attr
QCA_WLAN_VENDOR_ATTR_PEER_CFR_DATA_RECEIVER_PID. By default CFR
data NL events are broadcast.
Change-Id: Ifc2694fa3b21dc01f25da2219deb367375a48475
CRs-Fixed: 2953290
In LFR2.0, number of connection count isn't decremented when reassoc
to the same bssid, it will cause connection count wrongly calculated.
Need to decrement this count in such roaming scenario.
Change-Id: I849bd6a469567df737b3565555b950a501850ae0
CRs-Fixed: 2961292
TWT is supported in STA/SAP vdevs and it's allowed only in
DBS/Standalone case and not in SCC/MCC. Disable SAP TWT if
1. Concurrency occurs in SAP + NAN/NDI vdev
2. SCC/MCC occurs after CSA
Change-Id: Id1400bd5555d2f48590d7d3ad7c70162d1dd92fb
CRs-Fixed: 2942959
TWT is allowed only in DBS/Standalone case and not in SCC/MCC.
Handle TWT if any session request comes in SCC/MCC or DBS case
as per below:
1. If TWT session request comes on standalone SAP then peer
client will initiate the session and not from userspace
(SAP DUT)
a. Send twt responder enable command and
b. Send twt requestor disable command to firmware
2. If session request comes on standalone STA then
a. Send twt requestor enable command and
b. Send twt responder disable command to firmware
3. If two vdevs are up and SCC/MCC exist
a. Send beacon template with twt responder disable command to
SAP vdev
b. Send twt requestor disable command to STA vdev
4. If two vdevs are up in case of DBS
a. Send requestor enable command for STA vdev
b. Send beacon template with responder enable command for SAP
vdev
5. If 3 port concurrency comes then
a. Send requestor disable command to STA vdev and
b. Send beacon template with responder disable command to SAP
vdev
Change-Id: I65994702bb72d5006bd66b2ef57a0704a67410f7
CRs-Fixed: 2938961
Fix some LFR2.0 issues for connection manager path as below:
1: Add ptr null pointer and len check before access
rsp->connect_ies.bcn_probe_rsp.
2: Remove aged AP threshold check so that roam process can find
candidate AP with more probability.
3: Set cm_ctx->vdev to cmd_info.vdev in
cm_remove_preauth_cmd_from_serialization().
4: Add more debug logs for preauth part.
Change-Id: I4b0766bba40e3ebc3d01bdd4ae59aec1ec3a21d9
CRs-Fixed: 2961151
Currently when host receives power stats from fw, before
processing these stats it check for the hdd callback and
processes these stats only if hdd callback is registered.
This callback is checked in
wma_unified_power_debug_stats_event_handler function before
processing of the fw event and outside of any lock. After
processing stats, this hdd cb is invoked, there is an issue
with this approach that while processing these stats if timeout
happens in hdd then hdd sets its callback as NULL and now after
processing stats wma handler invokes this hdd cb which is already
NULL, leading to null pointer dereference.
To avoid above issue, add sme callback and move null check for
hdd cb and call to hdd cb inside sme lock which is the same lock
used while setting hdd cb to null on timeout.
Change-Id: I2203083a17ca3404c5c5af98ddc48ba127e6aee2
CRs-Fixed: 2950633
Remove duplicate code in connection manager and call
same API from connect complete and roam complete.
Change-Id: If7e9e1069acb1dede9433d16ef96f37029ff716d
CRs-Fixed: 2960921
The mutex disconnection_status_lock is not initialized for SAP mode but
destroyed in hdd_cleanup_adapter.
The fix is intializing this lock when the adapter is opend for all modes.
Change-Id: I906722641482c1ad0bcb89fcfe35ded23a15203e
CRs-Fixed: 2958599
For APsI pld_get_mhi_state() and pld_is_pci_ep_awake() return
proper value for buses other than IPCI where these APIs are not
supported.
Change-Id: I2dfe8118d29aa2bc75484ff4d708b21eba264350
Currently, host sends DS param to fw based on
channel number but channel number may be same
in case of 6G and 2G due to which IEs can be
included in case of 6G which is not required.
Fix is to send DS param based on freq to
avoid addition of IEs in case of 6G band.
Change-Id: Ib711731fda3cfb0117478e6b1e026f40639a7fbb
CRs-Fixed: 2942323
It's also needed to notify supplicant when TKIP michael mic failure was
detected under fragement case, so supplicat can start 60s protect policy
for association.
Change-Id: I9383d653ac957425e09a60a2f495e575741d073a
CRs-Fixed: 2942680
pe_session->lim_join_req is NULL for LFR2.0 roaming case, need to
add null check before access. If null get mbssid_info from
pe_session->pLimReAssocReq.
Change-Id: I17314a52f3b3fbc57908a7f3f8a369229baf02fd
CRs-Fixed: 2958899
MLO mgr does not have pe session information, when it delivers vdev mlme
event, the event_data_len is 0 and event_data is NULL.
In the vdev mlme op if event_data is NULL, we should get pe session from
vdev_mlme_obj.
Change-Id: I78072cfd80d05d032a734f33a5b5f090739bd0b3
CRs-Fixed: 2950291
Send TDLS STA notify only when connect is success.
This is required as incase connection, it will increment
tdls_soc_obj->set_state_info.set_state_cnt.
It that connection results in failure, then also, without
this check this count will increment.
For subsquent connections, in tdls_send_update_to_fw()
because of incremented count, it will be treated as
FW Set State is already sent and will not send it
which will result in FW crash while adding TDLS peer.
Change-Id: Ic3bedfb1357ac703f98d2d0285dcc85605bab97e
CRs-Fixed: 2955401
Race condition occurred as rx_thread did not get scheduled
before timeout and gro flush happened in vdev context. At
the same time, rx thread got scheduled and add skb to the
napi queue resulting in crash.
To fix this, Increase the timeout value so rx_thread gets
time to wake up, do gro flush and reset the vdev_del_event.
Change-Id: I2075eda91b1568cce3083869f510fc212dd721f8
CRs-Fixed: 2949803
Add sanity check mac context before using it in API
wlansap_get_csa_chanwidth_from_phymode.
Change-Id: I8df501e850b606615c899321fc23636ad985ab23
CRs-Fixed: 2955278