qcacld-2.0 to qcacld-3.0 propagation
Currently host sends only clear AC stats mask to firmware during
disconnection hence PEER stats have large random garbage values.
As a part of this fix, host ensure to send clear all PEER stats
mask to firmware.
Change-Id: I804735d8e85769b04a33008c3b9b72029d0c4368
CRs-Fixed: 1019043
Propagate from qcacld-2.0 to qcacld-3.0
Currently there are some places where array name is compared to NULL
in MAC. Add fix to correct it.
CRs-Fixed: 1063255
Change-Id: I4f620feff23475d0b719fae7ef8e0ac1ab3b8908
Propagate from qcacld-2.0 to qcacld-3.0
In limPerformFTPreAuth(), ft_ies pointer itself is used to determine
whether FT IE is present which is incorrect way to determine. Use
ft_ies_length instead to determine whether FT IE is present.
Change-Id: I36329de0ae41c03383f193b43eea214aed2770ca
CRs-Fixed: 979671
Session entry Nss value is updated by user configuration
and device capabilities. FW also provides the Nss value in
vdev start response based on current hardware mode. If the
current HW mode is DBS, FW gives the Nss value as 1 and if it
is updated in session then performance will be downgraded.
Do not update the session Nss with Nss given in vdev start
response by FW.
Change-Id: I4b9d5f98f09b437bb25568c82b15598aed493f27
CRs-Fixed: 1086940
qcacld-2.0 to qcacld-3.0 propagation
Driver logs timestamp format is different from logcat logs,
it's not user understandable and difficult to correlate with other logs.
This fix includes
1. Add hr:min:sec:usec timeformat to wlan logger and kernel logs
2. Remove SIR_CFG_PARAM_UPDATE_IND MTRACE log which is seen
frequent in MTRACE dumps
Change-Id: I45e5d28fbeccd757648f05ce4e593d8ca4fe7804
CRS-Fixed: 1049125
qcacld-2.0 to qcacld-3.0 propagation
If pre-authentication is successful and the reassoc request
comes with an invalid BSSID, then clean up the PE session and
then clean up the upper layers like SME and HDD.
CRs-Fixed: 970551
Change-Id: Idb0ce24f4cb4e1f3dd02c3691e1698441b7606ce
For ECSA once the channel switch is completed on CLI the CLI needs
to send p2p channel change confirm action frame to the GO.
This change adds support for p2p channel change confirm action
frame.
Change-Id: Id8339ca947b9397399c6de43018c2d43405d6c3c
CRs-Fixed: 1085525
VHT Opmode update IE in beacon is not getting processed, because
sch_bcn_process_sta_ibss only checks for difference in channel width
from current channel width. Add check for NSS as well while parsing
VHT Op Mode update IE in sch_bcn_process_sta_ibss.
Change-Id: Ideffe72332cf0a78ac80d5179eab6ba524335f93
CRs-Fixed: 1085109
TDLS connection tracker should be stopped, when firmware
sends scan started event and can be enabled again,
when firmware sends scan completed event.
Add changes to stop and start tdls connection tracker
based on scan events.
Change-Id: If61bca75d5f2c326d5e9c734bb8618d5cb67b246
CRs-Fixed: 1086302
In case of multiple radio, driver need to wait until it receives
all the radios stats and tx power levels stats and then
post the radio stats to user space.
Change-Id: I6e4f9ac8f0d2950551301589dfd8332e8c349605
CRs-Fixed: 992365
This is a qcacld-2.0 to qcacld-3.0 propagation.
Currently, firmware sends static 64 number of tx power level stats.
This is not scalable, hence add the support to send variable number
of tx power level stats.
Change is, firmware sends a separate WMI event with tx power level stats
indicating the total/num tx power levels and offset in the event
followed by the TLV. Host driver radio stats event processing is complete
only after receiving the tx power level stats.
Change-Id: Icd2c3958e09b2ce60f61e902d3f2da8b97acb013
CRs-Fixed: 992365
This is a qcacld-2.0 to qcacld-3.0 propagation.
Modify the existing radio_stat structure to add time spent
in each tranmission power level.
Change-Id: Ia5da997aabd5331e736d7367c9d74dfaf3e47906
CRs-Fixed: 992365
During roaming join request pointer in the session
is not initilized and the same pointer gets dereferenced
as part of the heart beat timeout handler.
Add validation check before accessing the join request holder
in the session.
Change-Id: I92a4f13a611b9e8eb11dac1194e52ddd726dbc41
CRs-Fixed: 1084701
qcacld-2.0 to qcacld-3.0 propagation
Current logic use the "not present" structure tDot11fQosMapConfigure
to calculate the array index which lead to the array overflow and
crash of VosMCThread. Add check code to avoid this problem.
Change-Id: Ifa08b24a06e409fed1bd445574127fef02f21d19
CRs-Fixed: 978582
Propagation from qcacld-2.0 to qcacld-3.0.
When Dut is configured as 1*1, after roaming to 2*2 AP,
the linkspeed is not right, it will display 144Mpbs rather
than 72Mbps. Because it uses wrong peer_nss and
peer_rate_caps in WMI_PEER_ASSOC_CMDID.
Change-Id: I8700621fbef9c9b4867ac698f7f721d4ffb7d967
CRs-Fixed: 1031447
qcacld-2.0 to qcacld-3.0 propagation
Vendor ibss feature doesn't work because the wpa ie is cleared by
setting vendor specific ie. Per vendor spec, need add logic to replace
vendor specific ie instead of simply overwrite or append to exist ie.
Change-Id: Ie1569b22e22716abcf7d215c2e93870b84cf668f
CRs-Fixed: 962051
Get self SU and MU beamformee cap from cfg in function
populate_dot11f_vht_caps in case of session is NULL so that
absolute self cap will reflect values that are intersection
of ini configuration and firmware capability.
Change-Id: Ic177382e6922e4c117cb01c78dd9b16437659496
CRs-Fixed: 1082131
Encryption key with zero length are installed in some scanarios.
If PMF is enabled for the session, privacy bit on deauth and
disassoc transmit frames is wrongly set.
Fix: Do not set is_key_installed flag if key length is 0.
CRs-Fixed: 1080127
Change-Id: Iad92c8acbaad504fd69dab585d1bf40afa6de206
During late suspend jiffies will not be incremented. Because of this
scan results are not age out as the delta of current time and the BSS
received time is not correct.
To address this, use the system time instead of jiffies for the
BSS received time and also make sure to use system time in all
other functions.
Change-Id: I4a9cd35ad5109ee2a33cfcafc9b03d5fcd80bb3f
CRs-Fixed: 1083225
When firmware sends WMI_ROAM_REASON_HO_FAILED event to host,
it has already deleted the peer. Host should not send peer
and vdev cleanup commands to firmware.
Add disassoc_reason field to roamCmd to indicate that CSR wants to
disconnect because of ROAM_HO_FAIL. Copy that information to PE
session, send it to WMA using WMA_DELETE_BSS_HO_FAIL_REQ.
Add wma_delete_bss_ho_fail() to take care of driver state cleanup
without sending commands to firmware.
CRs-Fixed: 1083649
Change-Id: Icdd7571214ea5510c0cdbc44c69d6b5060f5892c
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code that is generating warnings. One such issue is
function lim_is_scan_requested_ssid() is defined but unused. Delete
this unused function.
Change-Id: I52137b0a1e85d73f7567772228eb6994f9d16143
CRs-Fixed: 1075090
This reverts Change-Id: Iad92cc3ce634b69397666f574917b5254a73dcda
There is back and forth happening for expected value of NSS by firmware.
Final agreed upon values are: NSS=1 for 1x1 and NSS=2 for 2x2
Change-Id: I134a118b367c46e1b655a4eb21a6b406a3b25c2a
CRs-Fixed: 1084104
qcacld-2.0 to qcacld-3.0 propagation
If a station does not send anything in sta_inactivity_timeout, an
empty data frame is sent to it in order to verify whether it is
still in range. If this frame is not ACKed, the station will be
disassociated and then deauthenticated.
Change-Id: Ib86c9aacdb52141890b224262d55abbe58b1604d
CRs-Fixed: 1020078
qcacld-2.0 to qcacld-3.0 propagation
Add data structures to save short_retry_limit and long_retry_limit.
long_retry_limit is count to retry frame at current rate.
short_retry_limit is count to retry frame on lower rate.
Add changes to pass these params to firmware as well.
Change-Id: Icb45c37358dcfacbea8e3b3f40b93189d62e1be4
CRs-Fixed: 1020078
qcacld-2.0 to qcacld-3.0 propagation
Add data structures to save tx_pkt_fail_cnt_threshold and changes
to pass the same to FW.
Change-Id: I46dc401c26c3eeeb41b345d0fe1b4406394971fb
CRs-Fixed: 1020078
Pass addition scan IE to probe request function when generating probe request
due to HB failure, otherwise Ext Cap IE values will not be consistent with
other probe requests.
Change-Id: I65ba2d5377f7c48d5344c5b4b9782e3c55f6635c
CRs-Fixed: 1081117
In validation code, change condition local_ie_len <= to always less than
QDF_ARRAY_SIZE(array) value, to avoid buffer overflow.
Change-Id: I9612ce6e922dd481747253b3b35d74060439c159
CRs-Fixed: 1082162