Use user setting for HT mpdu_density if target reported value is
0 which means no restriction.
Change-Id: I4be7d3f4137744e5c9e5bdfc7b50e6c338bd4f79
CRs-Fixed: 2592163
Scenario: Turn on SAP in 2.4ghz in 20Mhz and connect
DUT to it.
Now trigger channel change command and change the SAP
channel to 5ghz in 80Mhz mode.
Issue:-
STA would not go to 80Mhz mode and would remain in 20Mhz
Issue in driver was that it was checking for the ht
supported chan width rather than the self capability.
HT self capability would always be 0 if the connection
is in 20Mhz, and thus the STA would never be able to
ramp up it's BW.
Expectation:
STA should move to 80mhz if it supports 80Mhz bandwidth.
Fix:-
Check for the self capability rather than the ht channel
BW supported.
Change-Id: I546d5edd9881c1013b1a08989cbab3d4ef8fae4d
CRs-Fixed: 2594982
Scenario:
Configure two AP with same SSID and different
passwords, and try to connect to one and then roam to
other.
Observations: The DUT would connect to the second AP
but since the password is different, the EAPOL would
certainly fail, and hence it would result in overall
connection drop and the DUT could not establish a
secure connection with the second AP, and it
disconnected with the previous AP.
Fix is to avoid the AP for some time and try to
connect to other BSSIDs, and still if the EAPOl
fails with the new AP, blacklist it.
Change-Id: Ifb908823cd0eb1873ec7a4b08dffa86e548533fc
CRs-Fixed: 2591467
Currently the BLM does not check the BSSID of
the entry for 0 or broadcast BSSID, and thus
can lead to addition of many entries with such
property.
This would also result in removal of old valid BSSID
entry data, which is essentially required.
Fix is to check the BSSID of the entry for 0
or broadcast, and reject them if not valid.
Change-Id: I2939673a1c4efb1a22e03ffe82121513c071fa4b
CRs-Fixed: 2595331
sta_id is carrying an uninitialized value from the caller
lim_send_sme_ndp_(add/del)_sta_rsp(). So, it's failing the
check for its validity and skipping the first NDP peer creation
/last NDP peer cleanup.
Remove the sta_id check as it's no longer used. So that the NDP
peer creation/cleanup happens properly.
Change-Id: I8daff2bfbc57b7a2fa17a121a5a9dec6975137de
CRs-Fixed: 2594317
Maximum no.of supported vdevs by driver are currently 5. Increase
it to 6 to allow the creation of a separate vdev for NAN.
Change-Id: I1cdc4cc88142bf7a2ad9ab7b8f518453482d2b86
CRs-Fixed: 2592023
Firmware sends vdev id allocated for NAN discovery in NAN enable
response. Validate the same and add corresponding entry to
policy manager.
Change-Id: I5e7426c6739620e05480fb90cecdb8ff156fd4cd
CRs-Fixed: 2592021
Framework might not disable NAN discovery explicitly in some
cases like driver unload. So disable NAN from stop_adapter to
terminate NDPs and NAN discovery properly.
Cleanup the API os_if_process_nan_disable_req() by using the
new API ucfg_disable_nan_discovery().
Change-Id: Ic2c834db44c42a44db902c93f67a887de1b6c2fb
CRs-Fixed: 2594318
Currently, framework issues NAN commands on station interface.
But when connection happens, framework does interface down and
up on the station interface due to MAC randomization. This
terminates all of the NAN operations.
So NAN discovery needs a separate interface to avoid dependency
on the station interface. Create an interface "wifi-aware0"
of type NL80211_IFTYPE_NAN based on the firmware capability
and register to kernel.
Framework issues "IF UP" on the new NAN discovery interface when
it enables NAN. Driver shall create vdev and send VDEV_CREATE
command to firmware for the same. Framework shall issue all
NAN discovery commands on this new interface. Driver shall use
NAN vdev for these NAN operations.
Framework shall do "IF DOWN" once the NAN operations
are done(Ex: up on NAN disable).
Change-Id: Ifd1e1ab5ed64cd97edb00e793214edd2a2365274
CRs-Fixed: 2592020
Kernel needs the below to create NAN interface from driver,
1. Register APIs to the NAN ops. Define dummy APIs as the APIs
are not supported for the current driver design.
2. Define NAN supported bands and 2GHZ is mandatory.
3. Set the iftype NL80211_IFTYPE_NAN in the supported
interface_modes.
Change-Id: I22db31840da2ba0e44b79077a8790b55f1151684
CRs-Fixed: 2592022
Firmware advertises service capability bit NAN_VDEV_SUPPORT for
separate NAN vdev creation. This capability can be used to create
separate interface for NAN discovery and process corresponding
commands from userspace.
Change-Id: I45573c94ee2d966afc1e207c9eefc146ff43320f
CRs-Fixed: 2592019
Testing HSP roaming by issue DRIVER FASTREASSOC
00:24:01:38:b1:a1 6 to trigger manually roaming,
host gave wrong channel number instead of channel freq in
WMI_ROAM_INVOKE_CMDID.
Change-Id: I50157f2aa3447ee7b57a4ddefabd41db0876a50c
CRs-Fixed: 2592946
Function ol_txrx_hl_tdls_flag_reset will call function
ol_txrx_get_vdev_from_vdev_id, it will return NULL vdev
because ol_txrx_hl_tdls_flag_reset is called before
TAILQ_INSERT_TAIL(vdev).
So, move it after TAILQ_INSERT_TAIL(vdev).
Redefinition of 'pld_pcie_register_driver' when
CONFIG_PLD_PCIE_CNSS not defined. For Hastings WHUNT,
HIF_PCI is defined but CONFIG_PLD_PCIE_CNSS is not defined.
So, replace CONFIG_PLD_PCIE_CNSS by HIF_PCI and
CONFIG_PLD_PCIE_FW_SIM.
Change-Id: I05e58516efe6a9a445168a27df9e0cfc9de2e50c
CRs-Fixed: 2589802
After removing alarms, suspend failures are still seen saying that
linux is failing to freeze tasks. This is because there is an error
log message that indicates that at the time of suspend, there was no
active wlan vdev since the DUT is also in airplane mode. Thus, change
the log message level from error to debug.
Change-Id: I7ef0f0d9cf6eab26e53f62a176fc771e862b8ccd
CRs-Fixed: 2594922
Add g_prefer_5g_scc_to_dbs to give higher priority for 5g scc than dbs.
It is bitmap per enum policy_mgr_con_mode.
For example in GO+STA(5G) mode, when TPUT is onfigured as wlan system
preference option, If 5G SCC needs higher priority than dbs, set it as
0x8.
This can make GO have higher TPUT given that STA and ref AP mostly have
low speed at this time. This can improve user experience.
Change-Id: Ib8b4bfeef55d97277843df92d3b82aa7f3b9835d
CRs-Fixed: 2587068
The max number of VDEV that the FW can support is 4. Due to memory
limitation, the host cannot send more than 4 vdev create to the firmware.
But for certain scenarios such as NAN, where there is a need to create two
extra interfaces apart from wlan0, wlan1 and p2p0 (e.g. aware_dataN
interfaces), there needs to be 5 vdevs created in the host.
To support 5 vdevs in host and in the same time only send 4 vdev
create to the firmware, allow an extra 5th interface to be created.
But do not allow all the 5 vdevs to be "up" simultaneously
(existing check in objmgr).
Change-Id: I5b677ae21043f7ee54194541576aa5125719d9b6
CRs-Fixed: 2472869
DSRC feature is enabled by SDIO card profile. But when debug SDIO
interface feautre, there are many DSRC module compile issue.
Change-Id: I4429f2a6e68b67140a72ad9634031f459ccda397
CRs-Fixed: 2590115
Reject moniotr mode request if the BW given in the
start monitor command does not match with the
FW capability.
Change-Id: Ic1e2f4bcb811ec56526ae179407db197af591c9c
CRs-Fixed: 2590873
When CONFIG_WLAN_DEBUGFS is disabled, source files depending on debugfs
will not be compiled.
CRs-Fixed: 2589891
Change-Id: I43496fe1fffc83c26d810b2a06b8c0f45edfc1c8
In function rrm_fill_beacon_ies, the total IE length is
calculated as sum of length field of the IE and 2 (element id 1
byte and IE length field 1 byte). The total IE length is defined
of type uint16_t and will overflow if the *(pBcnIes + 1)=0xfe.
Validate the len against total IE length to avoid overflow.
Change-Id: If8f86952ce43c5923906fc6ef18705f1785c5d88
CRs-Fixed: 2573329
When SAP is on 5G and STA connects to 6Ghz AP, the "force
SCC" logic will move SAP to STA home channel if SAP is 6Ghz capable.
If SAP is not 6Ghz capable, SAP will be moved to 2G (DBS) to
avoid MCC(5G+6G) for DBS HW and SAP will stay on 5G for non-DBS HW.
SAP is 6Ghz capable only when all of below statements are true:
a. SAP config includes WPA3 security - SAE,OWE,SuiteB.
b. SAP is configured by ACS range which includes any 6G channel or
configured by 6G Fixed channel.
c. SAP has no legacy clients (client doesn't support 6G band).
legacy client (non 6ghz capable): association request frame has no
6G band global operating Class.
Change-Id: I7e9723fd1b679326a3df61932850589e6e503f3d
CRs-Fixed: 2593569
When host sends assoc response to supplicant, it
allocates a buffer of fixed size and copies a variable
length of assoc response IEs to this fixed sized buffer.
There is a possibility of OOB write to the allocated buffer
if the assoc response IEs length is greater than the
allocated buffer size.
To avoid above issue validate the assoc response IEs length
with the allocated buffer size before data copy to the buffer.
Change-ID: Ib12385e9ff04e5172ae8b505faf959e426fda439
CRs-Fixed: 2583124
Create the debugfs interface to show the ini configs.
Usage: cat /sys/kernel/debug/wlan/ini_config
Change-Id: I2c6aeeaae6d79739bb8ab82740e8be678c18fd89
CRs-Fixed: 2572142