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
Currently, host sends bw value to upper layer in response
of GET_USABLE_CHAN command. but upper layer requires bw
value in form of nl80211_chan_width enum and considering
bw value as invalid and resulting into 0 bw.
Fix is to convert bw value to nl80211_chan_width enum
and send to upper layer.
Change-Id: I6ae523c35561120c28b08f3aa9782bb749337c8c
CRs-Fixed: 2957062
It will check connection status and then return channel width, which
doesn't work for SAP mode. So, this change won't check connection
status and return channel width in des_chan.
Change-Id: I1cf8c50d458eb1dee85a79ef131a4337ef35c210
CRs-Fixed: 2955868
Currently nbuf is being used to get gso segments after enqueue
to DP RX thread, this will lead to use after free issue because
RX thread may process and even free the buffer by the time nbuf
is accessed for getting gso segments in enqueue/softirq context.
Fix this by updating gso segments before nbuf enqueue to DP RX thread.
Change-Id: I2cc93bf9a44e2d487c1a6d474349cf5c0c5db76a
CRs-Fixed: 2958132
In lim_ft_prepare_add_bss_req due to change
Ic4a992acfce186f7248dcc99d0c7b44ce38f099b the action was removed
but if condition was not removed. This left over if condition is
causing the vht_caps to be NULL in VHT20 case.
Fix this by removing the left over if condition so that vht_caps
is filled all the time.
Change-Id: I196fd3cfb44fa3281b9843a61242520e0888d2c4
CRs-Fixed: 2958411
When ipa setup pipes fails in wlan_ipa_uc_ol_init API,
tx buff mapping is not done but during deinit path
tx buff unmapping is called without mapping.
Fix this by resetting uc_loaded flag to false when ipa pipes
setup failure is encountered.
Change-Id: Ic34320e56cee9e60381d9203dd95e268d0ef392b
CRs-Fixed: 2957612
Currently driver does not consider secondary channel list
for ACS which needs to be used for SAP related operations and
because of that in sap get freq list driver is selecting some
frequencies which are not valid for SAP operation and from
frequencies driver selects ACS frequency and gives to upper
layer resulting in an invalid ACS frequency to user space.
Now when user space tries to start ap on this frequency, SAP
doesn't come up on this frequecy as this is invalid frequency
for SAP.
To address above issue consider secondary channel list for ACS
in sap get freq list so that only valid frequencies for SAP
are selected for ACS.
Change-Id: Ic7f1cb8134615a9195884d55bfb8111898ff74cb
CRs-Fixed: 2955162
When flow is added in CMEM path init time stamp is not
handled, so initialize flow init time stamp in CMEM path.
Add Fisa error print during reo id mismatch, print flow
and nbuf details which helps to debug the issue even if
local stack variables are not available in dump.
Change-Id: Ibcc44bd8558cc687279bb34267d60b9882d33a24
CRs-Fixed: 2946825
In the scenario where ipa connect pipes fails in the
wlan_ipa_uc_loaded_handler API, uc_loaded flag is not
reset. As a result of this, in wlan_ipa_uc_ol_deinit,
ipa_tx_buf_smmu_unmap and ipa_wdi_disconn_pipes APIs are
invoked incorrectly.
Fix is to set the uc_loaded flag to true only if connect
pipes and tx_smmu mappings are successful in
wlan_ipa_uc_loaded_handler. Also, initialize the uc_op_work
in wlan_ipa_uc_ol_init prior to the uc_loaded check to
avoid a possible race condition which could also result
in the similar issue as above.
Change-Id: I119170413cb9b5e03ec476c9a69d9effaa460c01
CRs-Fixed: 2940833
Currently, osif_request_alloc is done and waiting for response
after posting the message NDP_END_REQ. But this may lead to
invalid memory access if message gets processed in scheduler
thread and response also comes before the request is allocated.
Allocate the request before sending message to avoid this.
Change-Id: I88b0a8be229e779526f0f3cf184b191e00872ee8
CRs-Fixed: 2782045
Currently, cp stats are received through kworker thread context.
This causes race conditions/out of sync issues if any common data
structures are handled in parallel in scheduler thread context.
There is no need to receive the cp stats on kworker thread as per
current design. So, move the cp stats event handling to scheduler
thread to avoid any race conditions.
Change-Id: Id8134003e6f7a3e0368b20c496f650e0b7025b9e
CRs-Fixed: 2928876
In function __wlan_hdd_cfg80211_get_usable_channel use
dynamic memory allocation for get_usable_chan_res_params
structure to avoid increase of stack frame.
Change-Id: Ib3b5686a7af068fd1d0435bc24eda5d9e57bf1d7
CRs-Fixed: 2950726
Currently driver updates the WTC global parameters irrespective
of the WTC attributes present in the vendor command.
This causes the WTC parameters to be reset and WTC roam
trigger doesn't happen.
For example, with below sequence of commands:
wpa_cli DRIVER setwtcmode 0 1 -40 -95 -90 -85
wpa_cli DRIVER ADDROAMSCANFREQUENCIES_LEGACY 19 2412 2417 2422
The WTC parameters TLV is not included in the RSO
update command.
Update the WTC params only if the WTC attribute is present.
Change-Id: I53e5d934368169069dbf059335859936d320aa4e
CRs-Fixed: 2954458
Currently in WTC mode the candidate AP RSSI threshold
configuration is applied for candidates on all band.
Add support to configure the candidate AP RSSI threshold for
different bands.
Change-Id: I94442c0f1bd3ea20dc2f5ebe893a9ead7fb8d890
CRs-Fixed: 2951610
Check the configured IOT OUIs in Beacon/Probe Response
IEs, but not in Associate Response IEs, because some APs
won't add its specific OUI in Associate Response frame.
Change-Id: I3aedeef0a5dbecd4bed41eb47a9374e654509746
CRs-Fixed: 2955964
Set intermediate EP vote access before host
wake up indication smp2p is sent to F.W,
this helps to avoid smp2p override.
Change-Id: I4b998ee5ea6b26921855bfbae434869fb93accf9
CRs-Fixed: 2953883
When roaming to 160M AP by LFR3, host will update BSS info after
received roam sync event from firmware, but 160M isn't considered
when calculate channel width.
Actually vht_op->chanWidth alone cannot decide the actual BW, we need to
check difference of center_freq0 and center_freq1 to decide 160/80+80 or
80 if vht_op->chanWidth is 1.
Fix it by copying ft_session->ch_width to BSS info which covered 160M
channel width.
Change-Id: Ic4a992acfce186f7248dcc99d0c7b44ce38f099b
CRs-Fixed: 2954900
When thermal level higher than MITIGATION, TX will be
throttled completely.
Report DIAG event to notify user-space explicitly.
Change-Id: Ic2d8adfb6810ad03f3ec3b0847a176b694ace33a
CRs-Fixed: 2922102