currently rx_mon_ring and REO are part of the same
interrupt group, due to which in case of mission
mode when IRQ is received from REO, even the lmac
rings are processed in the same context.
This results in dp_mon_reap_timer_handler and
dp_process_lmac_rings calling dp_rx_mon_status_process_tlv()
in different context and access global list at the same time,
which may lead to skb double free issue.
To fix the issue if current mode is not monitor mode
do not set rx_mon_ring_mask MSI interrupt mask.
Change-Id: Icc64455824f919e17d3daa741be1cbdafd6fe88f
CRs-Fixed: 3274531
Remove unused param key_rsc_counter of set_key_param
structure, as key_rsc_ctr is used to send key rx sc
counter to fw and rename key_rsc_ctr to key_rsc_counter
as win is using key_rsc_counter.
Change-Id: Id58aabb30d772f8f620ac9f96890fcac0193777b
CRs-Fixed: 3256574
Handle the following error scenarios in management Rx REO module.
1. Pdev corresponding to a HW link is deleted.
2. Pdev corresponding to a HW link not yet initialized completely.
CRs-Fixed: 3272812
Change-Id: I34fbb19e24649371ff0ddb591e2ec14bfdfee58a
Currently, for all link peers of ML peer, is_primary set as
true, since all link peers are attached to same PSOC.
But, FW and DP needs only one peer to be set primary.
So far, FW and DP are considering last peer created or last peer
assoc received as primary peer.
This method causing issue since the order is not guaranteed
between FW and DP layer.
So, added a change to set is_primary to one of the link peers
only
Change-Id: I1c1aa87056baf86091fefc780180b5fc6a16af0d
CRs-Fixed: 3274360
Multiple instances of the misspelling "recevied" are present, so
replace them with the correct spelling "received."
Change-Id: Ibd7f4a136541be8aa98f5bee4db7f75af0271f53
CRs-Fixed: 3273526
Currently, host driver installs keys for STA, SAP and P2P
iface. A peer validation is present to do so in these modes
in crpto API(target_if_crypto_set_key). NAN vdev also needs
same support for NAN pairing protocol but doesn't have a peer
as such.
So, bypass peer validation for NAN vdev.
Change-Id: Ief003d096da6f241ff13329c49a32cd896dec9db
CRs-Fixed: 3257754
Add a flag to indicate assoc req is used for this roaming,
don't treat assoc req as reassoc req.
Change-Id: I58f357b5581ca71e97841f1d7e0f3daad5d60970
CRs-Fixed: 3273877
Remove unused local variables in the Spectral module to
address the compiler warnings.
CRs-Fixed: 3272706
Change-Id: I91c806a9bd6413eb559992a0b184d8bd9c4ea4d0
Add handler to get the start of 802.11 header when
NO_PKT_HDR_TLV feature is enabled.
Change-Id: I8d0cb453221ccb56996212c616e629256422a337
CRs-Fixed: 3273441
As per single netdev design, after roaming is completed on link
vdev retrieve assoc link net device and use that for roamed indication
Add osif callback api to hdd to get assoc link net device
Change-Id: I9c8fcd4b095580548b8251818d0f6823df7a52aa
CRs-Fixed: 3274570
Remove unused local variables in the qdf memory component
to address the compiler warnings.
CRs-Fixed: 3272720
Change-Id: I9b784a43897003f374239ed2f27e0bb8e0ce4c93
CH_WIDTH_320MHZ definition is in 11BE define currently and it's
causing duplicate code in 11BE supported/unsupported cases.
Definition need not be in 11BE define as it doesn't cause any
impact on memory.
Change-Id: I996aad941bef33eef6527c4c34c5b9efd75d9b84
CRs-Fixed: 3246577
The control buffer element of socket buffer structure (sk_buff)
is of the data type char and the virtual address element of network
buffer control block structure is of the type unsigned char. The
current prototypes cause this pointer assignment with different
signedness.
Fix this by using appropriate type in the API definition.
Change-Id: Ic20ca29ce5d26a134ef295663632a5b7fd420954
CRs-Fixed: 3269690
During dynamic mac address change process, some link vdev mld
address will be changed successfully and some link vdev mld
address will be failed to be changed from target in failure case.
In vdev deleting, if no result to find mlo dev ctx by mld mac
address, try to use vdev->mlo_dev_ctx to detach vdev from mlo
dev ctx. This will avoid memory leak in above failure case of
dynamic mac address change.
Change-Id: I11304c92f9258e2390cfe2d03f29ada0db80e6af
CRs-Fixed: 3271092
Size of struct frag_header and struct ipa_header are passed to IPA
driver as destination mac address offset. Hence properly update
the definitions for KIWI family chipset so that correct offset can
be updated to IPA driver.
Change-Id: I3efdb8f4a7b4d79cf71fa5f82f3dfd356cb2b970
CRs-Fixed: 3275933
Current code registers va-md entry with static name
'qdf_va_md' when loading wlan driver, with no unregister
upon failure or driver unloading, this has a problem when
multiple wlan drivers are present, in which case it will
try to load all one by one during system bootup, but only
one driver will be loaded successfully at last. The
notifier_block for the unexpected wlan drivers will be left
in the notifier chain, which will result in kernel panic
when collecting minidump.
We can improve this by registering va-md entry with module
name, and unregistering the entry during de-init with the
newly added API qcom_va_md_unregister(), then different
wlan driver will register va-md entry with different module
name, and the entry will be unregistered on loading failure
or unloading, then there will be no stale notifier_block.
Change-Id: Ic08136f3f2ce1c202cab1ee68d8d376f2bd2fa57
CRs-Fixed: 3265807
When EasyMesh feature is enabled, ARP replies from WDS node are
getting dropped by the AP, as there is no proper way to find the
DA_PEER with given WDS mac address.
Fix is to get the peer mac address for wds node based on ast entry.
CRs-Fixed: 3265158
Change-Id: I5ea890ce37dfde89d067b471417ba7aeb8c5d6f5
For fixed field of per-sta profile for mlo, only assoc rsp is parsed,
need include reassoc rsp.
Change-Id: I8be3ab2d2f7719bda0190b59c6d24c07d12f21e8
CRs-Fixed: 3273819
Prensently for initial scan and roam passive scan dwell time,
the same ini CFG_PASSIVE_MAX_CHANNEL_TIME is used. This will
cause initial scan to have the roam passive scan value.
Decouple passive scan and roam passive scan ini parameter by
adding new ini param for roaming
Change-Id: I7bffb24a1e45548ed57492abc35e80958e9955ee
CRs-Fixed: 3272817
Currently host sends many vdev or pdev set param commands
separately to firmware.
Combine all vdev or pdev set params together where ever
possible, send to WMI.Based on service capability
WMI_SERVICE_COMBINED_SET_PARAM_SUPPORT, host decides whether
to send all set params to firmware at once to reduce number of
transactions or need to follow legacy way i.e send params
separately one after the other.
Change-Id: I0a36dd66a7ccb27f2ecd437cf7b9d08667e27472
CRs-Fixed: 3151418
Avoid code duplication by using common definitions
i.e use enum wlan_ml_linfo_subelementid.
Change-Id: Ia09c1a42207461878d023e8f4534f2d26fb2f81b
CRs-Fixed: 3227859
Update tx_fast callback with dp_tx_drop in
Umac pre-reset handler to pause the tx.
Change-Id: I39a74179a3deb8fba34acb7149046471e3f4797b
CRs-Fixed: 3267249
As per implementation of might_sleep(), rcu_read_lock()
nesting depth should be taken into consideration too to
figure out whether sleeping is allowable or not.
To make align with it, allocate memory with GFP_ATOMIC
if rcu_read_lock() nesting depth is not zero.
Change-Id: I83c042827db4024cedf4f043a4243e399a33f6e5
CRs-Fixed: 3272683
Add framework to use different RX hash values and ring masks
for ML and non-ML peers
Change-Id: I098cb50b8873eb137ce096011d01a5c21aaf854f
CRs-Fixed: 3269916
Maping and unmaping of the MLO DP peer to the partner soc
will be initialized based on architecture.
dp_mlo_partner_chips_map
dp_mlo_partner_chips_unmap
Change-Id: I918f6d552acd9d64086abf4c38f913348e13c381
CRs-Fixed: 3267904
Check peer_monitor is valid before processing.
This is required for new boot flow where vap creation starts
before monitor ko insmod.
This check makes sure that monitor_peer is valid which indirectly
means that monitor ko is insmoded.
Change-Id: Ifd132cd6717e3537dd1aa7b7b37e95012d7fe8fc
CRs-Fixed: 3272747
Hif and tgt if layer changes to handle Umac post reset
and post reset complete events from firmware.
Change-Id: I08bbd90741708fe76b2db0371ccfda7bfe7b0b2d
CRs-Fixed: 3267222
Hal layer changes to handle Umac post reset
and post reset complete events from firmware.
Change-Id: Ib25427930aab25650731c87b38e2ef7e47ae98d9
CRs-Fixed: 3267222
In current code, deauth is skipped for PMF clients
but ML peer state is updated for PMF clients also
This fix skips ML Peer state update for PMF clients
Change-Id: I41c870a5ff4bb658f378b65c729947fad324e807
CRs-Fixed: 3261671
This is a new FAST TX API which avoids various checks.
This API will be called when SFE tags a pkt as fast_forwarded
and vap's fast_tx flag is set.
avoid additional re-checks in the wifi TX function
CRs-Fixed: 3218650
Change-Id: Iba17ede59652a1ff2af553f57de21dc58946298e