Currently the drivers blocks every simultaneous scan
that comes to the driver, and returns BUSY.
here if the STA SCAN which is low priority after connection
comes, and at the same time ACS has completed and the hostapd
tries to do a HT scan, it would get error as BUSY, and it
will try to scan again and again until successful or the timeout
happens. This will in turn delay the hotspot bringup as start
ap does not come until the hostapd does a OBSS scan.
Fix is to skip the check of simultaneous scan for SAP, and make
the priority of scan request high for SAP scan.
Change-Id: I5625a3e7c05f75238771ea1ec35b80ae5113bbc3
CRs-Fixed: 2471854
wpa_supplicant sends connect request with open auth and pmkid
when PMK caching is enabled and if it has PMK/PMKID cached.
Set rsn_auth_type to SAE when connect request has AKM as SAE
auth_type as open.
Set negotiated auth type to OPEN in SAE with pmk cache case as
open authentication going to happen. Similar fix is applicable
for FT-SAE. Handle the same.
Change-Id: I9ccc419bd439702041840b0194bb0622d7856255
CRs-Fixed: 2467813
Add ini support for FIPS 4-way hanshake offload to firmware. FIPS
offload feature will add support to handle LFR 3.0 connection only
(auth/reassoc). If this ini is set then firmware will offload
4-way HS to supplicant. In the Roam sync indication firmware will
inform connected and not authenticated so that supplicant can take
care of 4-way HS.
Change-Id: I3da58910218ffc57094cac4c3cab4572631d9404
CRs-Fixed: 2459182
In P2P GO mode, if the P2P client device is not VHT capable and
only HT capable, but the DUT P2P GO is VHT capable and advertises
2x2 NSS and sends packets with 2x2 rates, it results in interop
issues with HT only capable P2P client devices.
When GO is operating in DBS mode, GO beacons advertise 2x2
capability but include OMN IE to indicate current operating mode
of 1x1. But here peer device is only HT capable and will not
understand OMN IE.
Check if the P2P client device is only HT capable and has
"\x00\x50\xf2\x04". Then downgrade the P2P GO operation to 1x1
nss. Modify rx mcs map value in association response to enable
only mcs 0-7.
Change-Id: I7177c5aee9a560a20c50a63886c0ee77f7d617ae
CRs-Fixed: 2464925
During roam fail, if firmware doesn't have any interface left on
2.4Ghz it moves to SMM from DBS, But doesn't inform to Host, which
assume DUT is in DBS mode and thus can send VDEV start on 2.4Ghz
without switching to DBS mode. This lead to assert in firmware.
To fix this firmware will indicate the new HW mode in ROAM INVOKE
FAIL and HO FAIL during roam. so handle the new HW mode indication
and update the host HW mode from the new HW mode indication. So
that host and firmware remain in sync
Change-Id: I854faea17c8eccf212b4efb9443b297cadca62b0
CRs-Fixed: 2473532
If platform support dbs, 1st AP start on 5G DFS channel, 2nd
AP should be able to start on 2G on another MAC, no MCC will
happen.
If override 2nd AP from 2g channel to 5g, 2nd AP can't start.
Change-Id: Icee7a5c432e0b96d71b51685955d820b0f619c8d
CRs-Fixed: 2470807
When get station command received by driver, host is
filling rx_mpdus and fcs_error count into output station
info buffer but corresponding flags are not getting set
because of which user space is not able to parse these
values.
To avoid this issue, set corresponding flags for rx_mpdus
and fcs_error count in stainfo buffer.
Change-Id: I0801501d0ede15c9c818d677b5e85e47963f4cff
CRs-Fixed: 2477654
In wma_is_roam_in_progress function, return false if wma pointer
returned from cds_get_context is NULL.
Change-Id: I0a3447f038a45ea93e769142cb5883a3f39c0991
CRs-Fixed: 2475071
Processing beacon request may fail due to
some reason.
In Ie07dbb1f45803cf93b45df2173f0ad064a194cb3,
sta fails to send empty beacon report to
AP and frees current rrm beacon request structure
because it doesn't find matched session by bssid
in rrm_process_beacon_report_xmit.
Copy bssid of beacon request to rrm session then
sta can send empty beacon.
Change-Id: I962d058d5e3f8f85194f4197c5ff8c061d56f60c
CRs-Fixed: 2472377
Firmware expects btm_offload_config value as 0x1c1 by default
so that BTM query is enabled. To enable BIT 7, "prefer_btm_query"
ini is used and its default value is 1. To enable BIT 8 in
btm_offload_config, "prefer_roam_score_for_candidate_selection"
ini is used and its default value is 1. Enable the BIT 6 also
by default.
Change the default value of btm_offload_config to set bit 6 by
default.
Change-Id: Ic0b222c281d1731aaf21aaff6a72ebf1f1f930de
CRs-Fixed: 2466687
Firmware allocates memory as part of WMI_INIT_CMDID based on number of
STA vdevs and max number of vdevs. If we try to create more then
max limit then firmware will crash.
Added check to check for max limit before creating the interface.
Change-Id: I3e73c9f1b3c925465452a23ea5f25f47e4eb1ada
CRs-Fixed: 2468171
In monitor mode even if vdev start fails, vdev up is sent, which
leads to assert.
Fix is to move the vdev state machine to init state on vdev start
failure and not to send vdev up.
Change-Id: I89e6294329ba0541d0d86c5728ce36898a199659
CRs-Fixed: 2475370
Host driver should exit if it fails to initialize
__cfg_global_store to avoid assertion hit.
Change-Id: I404e5da69cd2c4cf06d55a1d7a96d0aee1e5e4a4
CRs-Fixed: 2454969
Since system is awake when runtime PM suspend/resume happens, there is
no need to send DTIM related WMI commands with WOW sequence during runtime
PM resume as unlike system suspend, these commands are able to be sent from
other paths. It will just trigger runtime PM resume which is expected
behavior.
Change-Id: I51d0f45c0223a0c0e3c61bbcb7135a590359b08d
CRs-Fixed: 2475111
In function tdls_ct_idle_handler, idx is assigned from
tdls_info->index which can be 0 254. But tdls_conn_info
is static array in tdls_soc_priv_obj of size
WLAN_TDLS_STA_MAX_NUM (8). So check idx is less than
WLAN_TDLS_STA_MAX_NUM or not to avoid OOB memory access.
Change-Id: I8387cb0a44a79f0f83b25c12de2aa9fbc39ab2f3
CRs-Fixed: 2474432
Update default value of force max nss action OUI ini
to include AP that advertises rx nss as 1 before
connection and advertises rx nss as 4 in association
response and in beacons or probe responses immediately
after connection.
Change-Id: Ica6314547a2aa39d4887ac4231745d6a59cd6b0a
CRs-Fixed: 2466562
Currently the driver checks that DBS for connection
is allowed or not, and on that basis rejects the scan,
but it may happen that FW supports DBS, and DBS for
scan is enabled in the ini, but the DBS for connection
is disabled.
In that case the diver opts for non-dbs scan.
Fix is to allow DBS scan in case of DBS scan enabled in ini.
Change-Id: I9feccdb434787f9ae1b87397b9c7a25cb2e40705
CRs-Fixed: 2473835
Fix the logic to not to advertise twt requester for SAP &
twt responder for STA.
Change-Id: I153f7c52d0107c75f7c59b4c880bb4aa0757356b
CRs-Fixed: 2473541
Driver is updating wiphy band capabilities incorrectly as
it is always updating 2G band as always supported, in case
if 2G band is disabled from ini "BandCapability", driver
should not update 2G band capabilities to wiphy.
To avoid above issue, add a api to check if 2G band is
supported and then only update 2G band capabilities to
wiphy.
Change-Id: Ib921fa106158d93bfdb7aa57cfd5aa4370fab7d8
CRs-Fixed: 2470067
As single CPU and low frequency platform, the held time of spin lock
easily exceed the max time allowed when system taking heavy payload.
then crash occur. To address this, Disable QDF_LOCK_STATS_BUG_ON on
SDXPRAIRIE platform.
Change-Id: I156a003b361f3653591102de1cde9b131c467968
CRs-Fixed: 2456386
Array sta_to_adapter of hdd_ctx is accessed from several functions of
NAN and softap without bound check which can lead to out of bound read
or write access.
To fix this, add range check for sta_id.
Change-Id: I0b8c4e8bce26c6514df489c3305000691c7e1fe0
CRs-Fixed: 2456954
Linux coding guidelines don't allow use of camel case identifiers.
So rename selfMacAddr to self_mac_addr to be in compliance.
Change-Id: Id70e00744883f9fd797da8d4bb1cf4f65c8aa9ff
CRs-Fixed: 2463827
Memory pointed by stakeyparams is not made NULL after
freeing in wma_set_stakey. This results in double free
during wma_add_bss_sta.
Change-Id: Ifa24d536e116be60f572d9926a511f9f498e6696
CRs-Fixed: 2463399
qcacld-2.0 to qcacld-3.0 propagation
This change adds support for driver supported TCP
delayed ack to increase TCP RX performance in
third-party platform which does't support kernel
TCP delayed ack feature.
TCP delayed ack is dependent on count and timer
values. Whatever is achieved first will trigger
sending TCP ack.
This feature can be controlled through ini values.
gDriverDelAckTimerValue - timer value in ms
gDriverDelAckPktCount - delayed ack count
gDriverDelAckEnable - enable/disable feature
Change-Id: I8105bbb90965295b5a4aefeb00d344a90155974d
CRs-fixed: 2414224