There is requirement to support maximum 4 devs on Genoa,
like sta + p2p + dual band sap, change CONFIG_WLAN_MAX_VDEVS from
3 to 4 for Genoa auto.
Change-Id: I17604b0ff191bf8ee13ebb48004c893f1fb353c2
CRs-Fixed: 2674091
After receiving PEER_ASSOC_CMD from host, FW sends Peer Assoc
Conf event as ACK of PEER_ASSOC_CMD. After that, host sends Mx
(STA:M2/M4) messages.
Currently, FW sends Peer Assoc Conf event to HOST only in
success case and HOT fills event status as success always.
As per requirement, FW now sends Peer Assoc Conf event to HOST
in failure case. So now host should update event status whatever
coming from FW.
Fix is to update proper Peer Assoc Conf event status
Change-Id: I7e1aa808e1beece23a5dfc0c120765e389e3f0f9
CRs-Fixed: 2640242
Current during system suspend/resume, we remove/add votes for DDR/SNOC
during cfg80211 suspend/resume functions. However, check for pending TX
completions and RX softirq processing happens in the bus suspend
functions which get called after cfg80211 suspend/resume functions.
Hence, there is a small time window where there may be DDR transactions
from WLAN SOC with no vote for DDR/SNOC. This can lead to high bus
latency as seen by WLAN SOC. To avoid this, move the bus voting for
system suspend/resume operation in the bus suspend/resume functions.
Change-Id: I9242d438c1fa07cd7a2dec6994f437d07dd9bb68
CRs-Fixed: 2673101
The lmac tx/rx ops are not freed in failure case of start module
which lead to mem leak.
So Free lmac tx/rx ops in start module failure.
Change-Id: Ib222e7e31164488cca7b7cc3d241f895f49daa6d
CRs-Fixed: 2688176
Set PMF enabled bit for Association Frame only when both peer
and self supports it.
Change-Id: I11994da4db87e6a83b7ebe308720c45a9e2f0173
CRs-Fixed: 2686114
In PMF cert test case, peer device sends disassoc req to APUT.
After the STA cleanup is done on DUT, ping data packets are still
sent by the peer STA causing rxdma decrypt errors. Rxdma decrypt
errors are not processed and the control path callback to send
deauth frame to peer STA is not invoked resulting in test case
failure.
Fix is to revert commit bf58054b02
("qcacld-3.0: Add feature flag to not process rxdma decrypt err").
Change-Id: I39686a4b16d256bd4d4b62a782457e941cfda8d6
CRs-Fixed: 2686159
Currently, SAP interface is being created when there is an existing
monitor mode interface. This concurrency is not allowed.
To avoid this, Add check for existing monitor mode interface before
creating SAP interface using add virtual interface.
Change-Id: Ia2318b880adaff39b7deb9e223140906e80a91ae
CRs-Fixed: 2680143
If FISA related macro WLAN_SUPPORT_RX_FISA is configured but INI
dp_rx_fisa_enable is not set, fisa related context is not initialed
in dp_soc structure. if do fisa flush when vdev detach, invalid
access to fisa context will happen.
Do fisa flush per vdev only if fisa is enabled in INI.
Change-Id: Id3cecfa24f8ce26465a7809d4d9b2e92ae199c7d
CRs-Fixed: 2687949
Few changes on tip got reverted as part of
I2b91a271d30b1230ef7bb14ee08d0b9da2706db4 so bring them back.
Change-Id: I12dc7304dba220f0d85763b01d4b04dd1540a3bb
CRs-Fixed: 2687980
If device is configured to Only dot11mode profile. Don't
connect to lesser profile the configured.
Change-Id: I7bf5157c0d7324c5ee7c4cdaac7806c0991d5dae
CRs-Fixed: 2683763
As part of WEXT replacement, replace wowlDelPtrn with a sysfs file.
file path: /sys/class/net/wlanxx/wowl_del_ptrn
where wlanxx is adapter name
example: echo 08:01:FFFFFFFFFFFF0000:FC > wowl_del_ptrn
Change-Id: I446456df5bd003b7328ba7afc0a4fb5e60059e11
CRs-Fixed: 2682245
There should only be STA and/or SAP modes for the new sysfs commands.
Remove P2P device mode when creating the store/show files.
Change-Id: Id090dff650466c907468eb530e9e24d96ce4d99d
CRs-Fixed: 2686781
WLAN_FEATURE_NAN_DATAPATH is deprecated and the define is also
removed. But there is still some code(NDP wakelock event
configuration) which is guarded in this flag and it never gets
compiled. So replace WLAN_FEATURE_NAN_DATAPATH with overall
NAN feature define WLAN_FEATURE_NAN and move it to a separate
API.
Also, enhance log to print the complete 16-byte bitmap in hex
format.
Change-Id: I1ad51efc2b6a088022601686744802995fb7b4b7
CRs-Fixed: 2679286
Check AP's HE Rx MCS map to connect in HE mode. If AP has invalid
MCS map connect in HT/VHT mode.
Change-Id: Ia95f08999f0536ac3463e02212f39d4fd09390d4
CRs-Fixed: 2684887
If IPA is not enabled, don't set ipa cfg to fw, else
firmware crash when loading driver.
Change-Id: I9c5d55775a5390c4f35a91100cf4b1bdebc7f4f0
CRs-Fixed: 2635439
As part of WEXT replacement, replace getChannel with a sysfs file.
This feature can be controlled using configuration flag
CONFIG_WLAN_SYSFS_GET_CHANNEL
file path: /sys/class/net/wlanxx/get_channel
where wlanxx is adapter name
example command: cat /sys/class/net/wlan1/get_channel
output: Channel number: 1
Change-Id: I3040af3d19eb83a819ca83cdbb74a70acd041698
CRs-Fixed: 2681803
Unloading the driver is a driver transition. As a part of this driver
unload, the PLD calls the pld_remove which is a psoc transition. This is
the reason why the driver unload is currently not being protected as
there is a call to psoc transition within it.
This absence of locking can lead to potential deadlock scenario. Assume the
example of add_virtual_interface and rmmod coming in parallel.
T1: add_virtual_interface (starts a vdev_trans)
T2: rmmod comes in parallel
-> unregister_driver goes to PLD
-> PLD calls pld_remove (psoc_trans waits due to T1)
T1: add_virtual_interface continues
-> Calls idle_restart that goes to PLD
-> PLD waits from pld_remove (T2) to complete first
T1 and T2 are waiting for each other to exit resulting in
deadlock.
To resolve this, add a driver_trans_start_wait to hdd_driver_unload.
This will ensure that either the unload waits for all other trans to be
completed before proceeding or set the driver_load_unload flag which
will result in upcoming trans to get rejected.
Change-Id: I64b03843065e5eef7c2be209c1f8cb936bdd0742
CRs-Fixed: 2683032
Host driver do receives radio tx power level stats as part of
radio stats even though we have different event ID for that.
Handling the tx_power_level as part of radio stats only if
num_tx_power_level is set.
Change-Id: I46aff51c70c444c94c9b10f32b7776ba4a1ca4e8
CRs-Fixed: 2686882
In dp_fisa_rx() function, L2 head pointer for fragment data is not
set correctly, actually it points to RX TLV header.
Skip RX TLV for RX fragment data.
Change-Id: Ie326734c657f45024a83792b103f931723148c92
CRs-Fixed: 2686851
As part of WEXT replacement, replace getTdlsPeers with a sysfs file.
This feature can be controlled using configuration flag
CONFIG_WLAN_GET_TDLS_PEERS
file path: /sys/class/net/wlanxx/get_tdls_peers
where wlanxx is adapter name
example command: cat /sys/class/net/wlanxx/get_tdls_peers
Change-Id: I66123266d6a3bf4c5c82f70186e35aa9942533b1
CRs-Fixed: 2681810
bTkipCntrMeasActive was not getting filling anywhere, hence
was removed from pe_session struct along with releveant code
where it was checked.
Change-Id: I8926bedef61c6468f8de2f73b4991c4c4860810b
CRs-Fixed: 2687067
eCsrForcedDeauthSta equals to 14 and as far as reason
codes are concerned, it is MIC_FAILURE. It is observed
that when wlan is configured as SAP-SAP DBS with same
SSID and same encryption WPA2/WPA3 mixed mode, it leads
to an IOT issue where clients with iOS 13 in particular
are not able to auto reconnect back after wlan is restarted.
Thus populate subtype to IEEE80211_STYPE_DEAUTH >> 4 and
reason_code to WLAN_REASON_DEAUTH_LEAVING as defined in
kernel since station_del_parameters is a kernel defined
structure.
Also correct internal use of subtype since right shift
4 for SIR_MAC_MGMT_DEAUTH and SIR_MAC_MGMT_DISASSOC
will always end up with value 0.
Change-Id: I60aa5ed4e7b672b7a92f05ad322fcb48ab0526d4
CRs-Fixed: 2678637
DUT perform FT-IM association instead of FT roaming to
process emergency deauth from connected AP.
In the case of FT-IM association, FW sends assoc requests
instead of re-assoc requests in roam sync indication to
host. Host truncate fixed parameters from assoc req and
forward frame tagged parameters to supplicants.
In re-assoc request fixed params length is 10bytes and
in assoc request, fixed param length is 4 bytes.
Currently host always truncating 10 bytes of assoc/re-assoc
frame present in roam sync ind and forward it to supplicant.
This results in extra first 6 bytes of assoc frame get stripped
by host. Due to this supplicant is not able to parse frame
content properly. This leads to 11r roaming failure.
As in case of FT-IM association roaming, FW forward assoc req
in roam sync ind, Host should truncate 4 bytes of fixed
parameters.
Fix is to ensure that host truncate only 4 bytes if assoc
request present in roam sync ind data.
Change-Id: Ie1352e41f9caffc4a28ed046330a73f303af36da
CRs-Fixed: 2664097
With specific AP(s), FW needs to perform FT initial mobility
association instead of FT roaming for deauth roam trigger.
This ini is used to configure "FT roaming for deauth roam trigger"
behavior from the HOST.
Change-Id: Id754a21f7ac2c330019055646f79c79db3e0c52c
CRs-Fixed: 2665882
In case of partial reorder, seq number is sent by FW
when first_msdu bit is set in msdu. For all other msdus host
maintain copy of cur_seq_num_hl in pdev.
cur_seq_num_hl gets updated when htt_rx_mpdu_desc_seq_num API
is called. Currently htt_rx_mpdu_desc_seq_num API is called
from multiple functions. Add update_seq_num flag to make sure that
cur_seq_num_hl updates only during store function.
Change-Id: Ie3178ee6d1642dbeaf0cea032dc80e0ecccc1dc2
CRs-Fixed: 2683869
In some case, FISA flush for one FISA entry is missed which
lead to some RX frames stay at FISA entry forever, this will
cause skb leak.
Do FISA flush per vdev when vdev detach to avoid skb leak.
Change-Id: Ie6bdf885c740a99b089290257ea6936d5804d142
CRs-Fixed: 2679221