Commit Graph

17764 Commits

Author SHA1 Message Date
Jeff Johnson
069b0bbcd9 qcacmn: umac: dfs: Fix misspellings
Fix misspellings in umac/dfs/...

Change-Id: Icda5ab395b83ab28fa8455a08514823b971b27a6
CRs-Fixed: 3304697
2022-10-10 23:02:33 -07:00
Qun Zhang
a3e3334d61 qcacmn: Update AUTO US 5 GHz regulatory domain
Update AUTO US 5 GHz regulatory domain to FCC3 per
latest regdomain revision.

Change-Id: If20fdc94107b2aa52d1a2a51b3ed5164ebb87ec1
CRs-Fixed: 3286603
2022-10-10 21:25:03 -07:00
Jeff Johnson
207faf54f2 qcacmn: hif: Fix misspellings
Fix misspellings in hif/...

Change-Id: I8eeefbf714bbb66f61886d9ceabe3f28607b045c
CRs-Fixed: 3304686
2022-10-10 19:21:54 -07:00
Jeff Johnson
126e35d716 qcacmn: init_deinit: Fix misspellings
Fix misspellings in init_deinit/...

Change-Id: Ibe881dbbfb5df9c9a9602c15ac843dd8491b561f
CRs-Fixed: 3304688
2022-10-10 19:21:47 -07:00
Jeff Johnson
664b1762ea qcacmn: htc: Fix misspellings
Fix misspellings in htc/...

Change-Id: Id533c5659a137bfe8e2b6ce9380e65d432ba5ad5
CRs-Fixed: 3304687
2022-10-10 16:22:04 -07:00
KARTHIK KUMAR T
2eaf7b1992 qcacmn: Add support to fetch extended peer stats using MLD mac address
Add support to fetch extended peer stats using
MLD mac address

Change-Id: Icdf300cd0331e68bc0e8cc60aa8d02ce1f17440f
CRs-Fixed: 3303590
2022-10-10 14:50:32 -07:00
Jeff Johnson
bbc6f89c23 qcacmn: umac: regulatory: Fix misspellings
Fix misspellings in umac/regulatory/...

Change-Id: I9ede258627348c877cc824f80caae903fa0b21f2
CRs-Fixed: 3304700
2022-10-10 10:01:48 -07:00
Abishek Ganapathy
ba230e214e qcacmn: Bringup/Bringdown standalone AP vaps in Dependent WDS Repeater
If repeater is configured as dependent WDS repeater, call the
handler to bringup/bringdown all the standalone AP vaps in the
repeater once all the other AP vaps present in the AP ML context
are up/down.

Change-Id: Icad3d0434180cb25bdcdedec3334ccbbe642cf4c
CRs-Fixed: 3299010
2022-10-10 07:34:14 -07:00
Yeshwanth Sriram Guntuka
91731902f6 qcacmn: Add QDF abstraction APIs for QMI
Add support for QMI by adding QDF abstraction APIs.

Change-Id: I872c6da0a5d73b8de5320861ba0ff83904c4db5b
CRs-Fixed: 3289745
2022-10-10 07:34:08 -07:00
Jeevan Kukkalli
da9acd4815 qcacmn: Add flag to indicate all type subtype FP filter
If all the type and subtypes are enabled then there is
no need to dissect frames and validate type and subtype.
Add flag to indicate such configuration.

Change-Id: Ia7f919e5bdb175019a39f23be9e1d5a9a12fec31
CRs-Fixed: 3303105
2022-10-10 02:55:52 -07:00
Jeff Johnson
45c28558a5 qcacmn: scheduler: Fix misspellings
Fix misspellings in scheduler/...

Change-Id: I39b11d5a3755c84cf53cc5dffc995a8ea531f36a
CRs-Fixed: 3304691
2022-10-10 02:55:46 -07:00
Chaithanya Garrepalli
e75e226669 qcacmn: Add low threshold desc alloc fail stats
Print stats for low threshold descriptor alloc
failure in RX stats

Change-Id: I917d14b51feeacbc7669d906bf03ca4cfdd689f8
CRs-Fixed: 3308195
2022-10-10 01:11:24 -07:00
Sreeramya Soratkal
3c9b433d10 qcacmn: Set REO destination indication as per REO HW in BE
In case of Beryllium, REO hardware expects the REO destination indication
needs to be set in extended MSDU structure to consider the reinject of
packets after defragmentation to REO2SW1 ring.

Set the REO DESTINATION INDICATION in msdu_ext_desc_info in case of
Berylliyum initialization while setting MSDU desc info.

CRs-Fixed: 3306818
Change-Id: I6a7862a0448afeb169e04747c1dba352ce12c278
2022-10-09 23:31:01 -07:00
Sai Rupesh Chevuru
6aef607629 qcacmn: htt support for compact tlv feature
Adding htt support for compact tlv feature

Change-Id: If45b5b32c4cef482cb6c54b5f2919b56384a8a93
CRs-Fixed: 3293927
2022-10-09 20:42:33 -07:00
Divyajyothi Goparaju
e308a57a37 qcacmn: Replace reg_get_320_bonded_channel_state
Replace all occurrences of
reg_get_320_bonded_channel_state function  with new
function reg_get_320_bonded_channel_state_for_pwrmode
and use extra parameter as REG_CURRENT_PWR_MODE.

Change-Id: Iaaf553eed582f03b2d4a5842baa031607b69414f
CRs-Fixed: 3145724
2022-10-09 13:02:00 -07:00
Hariharan Ramanathan
8094475e5e qcacmn: Add REO_SHARED_QREF_TABLE_EN support for QCA5332
Add support for REO_SHARED_QREF_TABLE_EN in QCA5332.

Change-Id: If624e10d61522c1fe42f23c2f9b0e28255a00583
CRs-Fixed: 3307477
2022-10-09 08:16:48 -07:00
Rakesh Pillai
27f5c5e7b8 qcacmn: Fix mpdu re-stitch failure for fragmented wifi frames
When the length of a 802.11 frame is more than the
size of the posted receive buffers, it is split across
multiple buffers, which have to be accumulated before
submitting to network stack.

For all-but-last buffer which are used for the above
mentioned large 802.11 frame, the MSDU_CONTINUATION
flag will be set indicating that remaining data of the
same msdu has been DMA'ed to the next buffer.

The current implementation in monitor-1.0 works for
legacy chipsets, where MSDU_START tlv is available and
hence the aforementioned information was available in
all the buffers containing the large 802.11 frame.

For kiwi target, there is no MSDU_START tlv, and hence
a lot of information eg: mpdu_len_err, decap_format and
l2_hdr_offset are not available in the buffers where the
msdu_continuation flag is set. This leads to an attempt
of mpdu_restitch using incorrect data from tlv, and hence
the mpdu_restitch fails for such large 802.11 frame.

Fix this issue for kiwi target, by gathering all these
information which are available in the last buffer and
are used to process/accumulate the entire 802.11 frame.

Change-Id: I1c4fc9fd574c1c5fabc845407aa6f2d990c60906
CRs-Fixed: 3261494
2022-10-09 06:51:07 -07:00
Tallapragada Kalyan
9ab6f487c0 qcacmn: fix compilation issue
fix the spelling typo when passing the argument dp_soc

Change-Id: I9b4155af801feddbfad706d292267629f9f2c5b5
CRs-Fixed: 3306506
2022-10-09 05:20:03 -07:00
Jianmin Zhu
0e57c9b492 qcacmn: Handle roam target AP and current AP same MLD address case
If 2 MLO AP have same MLD addr, when roam between them,  link vdev1 old
peer is deleted first, ML peer goes to state ML_PEER_DISCONN_INITIATED,
Since ML peer can be found for same MLD addr, no new ML peer is created,
but vdev1 new link peer is failed to attach to ML peer for wrong state,
then ML peer will be double freed, assert will happen.

To fix it, if roam target AP and current AP have same MLD addr, before
attach new peer to reused ML peer, update different info from target AP,
update ML peer state to ML_PEER_CREATED again.

Change-Id: Ia656ed61be4ae417b8cfbe7711d421fbcee89b97
CRs-Fixed: 3302438
2022-10-08 22:08:10 -07:00
Jeff Johnson
9a15a4b294 qcacmn: cfg: Fix misspellings
Fix misspellings in cfg/...

Change-Id: Ib1c1aa1a37071d472a83b9d4d1585b9c6e081224
CRs-Fixed: 3304681
2022-10-08 12:16:04 -07:00
nakul kachhwaha
566ce9d06b qcacmn: Handle new WMI param to support flexible TWT
This change is to handle new WMI param sp_start_offset. It
is use to pass value to fw to offset the start time of next SP.

Change-Id: Id3eb1cecdcdfc883c0620ad7f5cf18a50bd5256b
CRs-Fixed: 3266687
2022-10-08 05:12:57 -07:00
nakul kachhwaha
af02ec866a qcacmn: Add a new QCA vendor attribute to support flexible TWT
Add a new attribute QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_SP_START_OFFSET to
configure offset to shift start of the service period. This attribute
will be used when device supports flexible TWT. If provided, this
attribute will override QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_WAKE_TIME.

Change-Id: I1f066f328c6d0f3ca4d4bf4a94e63647d639f49d
CRs-Fixed: 3299714
2022-10-08 05:12:50 -07:00
Chaithanya Garrepalli
3ed8f4da95 qcacmn: Change RX release max to 32K
Change ini max configurable size for RX release
ring to 32k

Change-Id: I97de3134430e6be5d4217b3cbc773a18463807dc
CRs-Fixed: 3306911
2022-10-08 00:17:59 -07:00
Jeff Johnson
ebfbc0d927 qcacmn: dp: Fix misspellings
Fix misspellings in dp/...

Change-Id: I6ef7a19ee03104ae38a8a77e229b90aa80329592
CRs-Fixed: 3304682
2022-10-07 22:42:22 -07:00
Jeff Johnson
c359185095 qcacmn: target_if: Fix misspellings
Fix misspellings in target_if/...

Change-Id: I405f4c709ffd70b1927970ebd51a215c49f6dc88
CRs-Fixed: 3304693
2022-10-07 22:42:16 -07:00
Jeff Johnson
5b2be63430 qcacmn: global_lmac_if: Fix misspellings
Fix misspellings in global_lmac_if/...

Change-Id: I3e4a8ba4b70d513fcbe77be3f05ea00f387d4177
CRs-Fixed: 3304684
2022-10-07 21:01:59 -07:00
Jeff Johnson
29f3ca2434 qcacmn: wlan_cfg: Fix misspellings
Fix misspellings in wlan_cfg/...

Change-Id: I2370881dd3663238cbbd0417c8c9b4694c5ac27c
CRs-Fixed: 3304704
2022-10-07 19:14:07 -07:00
Jeff Johnson
9c3acb0121 qcacmn: spectral: Fix misspellings
Fix misspellings in spectral/...

Change-Id: I2477dbd5ecccc508d5dfdfc8006fe2255ba0dda8
CRs-Fixed: 3304692
2022-10-06 21:31:52 -07:00
Jeff Johnson
b861d604e2 qcacmn: ipa: Fix misspellings
Fix misspellings in ipa/...

Change-Id: I115ce0ff378e8203cdc2614f1547f5822f5b5eae
CRs-Fixed: 3304689
2022-10-06 21:31:46 -07:00
Jeff Johnson
f7586e623e qcacmn: ftm: Fix misspellings
Fix misspellings in ftm/...

Change-Id: I60e81fb576de19117e4baeaceff3f3fcfa723f7d
CRs-Fixed: 3304683
2022-10-06 18:28:34 -07:00
Jeff Johnson
4c5b6e76fe qcacmn: Properly abstract the Linux bottom half interfaces
When migrating to Linux Kernel v5.19 the following compilation error
was encountered:

i_qdf_defer.h:192:19: error: cast from 'qdf_defer_fn_t' (aka 'void (*)(void *)') to '__qdf_bh_fn_t' (aka 'void (*)(unsigned long)') converts to incompatible function type [-Werror,-Wcast-function-type]
        tasklet_init(bh, (__qdf_bh_fn_t) func, (unsigned long)arg);

This revealed the fact that the QDF bottom half abstraction was not
cleanly implemented. The current implementation freely typecasts the
abstracted signature:
	void (*func)(void *arg)
with the Linux-specific signature:
	void (*func)(unsigned long arg)

This has worked in the past since a void * and and unsigned long are
the same size and hence could be freely converted from one to another.
However the Linux Kernel now supports Call Flow Integrity which
requires that the function signatures must always exactly match.

To address this issue rewrite the bottom half abstraction to use an
intermediate dispatching function, exactly like is already done for
the deferred work abstraction.

Change-Id: I56b5a8ab9515033d8237302300fd6b55ea755633
CRs-Fixed: 3305515
2022-10-06 16:53:10 -07:00
Amruta Kulkarni
f1da02acc9 qcacmn: Release vdev reference to avoid leak
Currently vdev reference is not released in api
osif_send_roam_auth_mlo_links_events().

To solve this release vdev reference to avoid leak.

Change-Id: Idc766925f5cd71cbdd577ee7b67abffc35130dd9
CRs-Fixed: 3305547
2022-10-06 16:53:03 -07:00
Ashish Kumar Dhanotiya
4432410b9c qcacmn: Add support to send band capability to fw
Currently host does not update band capability to fw as
part of feature set info.
With this change update band capability as well as part of
feature set info.

Change-Id: I09982f2f1b7b831a62f6f4db97691aeb4a4fb894
CRs-Fixed: 3303427
2022-10-06 15:15:45 -07:00
Jianmin Zhu
0f719d3ee2 qcacmn: Free copied connect req after successful disconnect
While schedule thread handle connect, disconnect from OSIF will
fail but free copied connect req wrongly.
When connect partner link, will access copied connect req, assert will
happen.

To fix it, don't free copied connect req until disconnect return
success, add function mlo_free_copied_conn_req.

Change-Id: Id0e40b4bb6e4927f7b31aa7443b581a62f64e6fa
CRs-Fixed: 3305286
2022-10-06 13:01:36 -07:00
Divyajyothi Goparaju
09546389da qcacmn: Replace wlan_reg_get_channel_state_for_freq
Replace all occurrences of
wlan_reg_get_channel_state_for_freq with
wlan_reg_get_channel_state_for_pwrmode and
use extra parameter as REG_CURRENT_PWR_MODE

Change-Id: Idfd0b095867a5e75e795d6297f998725e62f7300
CRs-Fixed: 3145012
2022-10-06 13:01:30 -07:00
Jeff Johnson
a5d454cfef qcacmn: Remove qdf_exit_thread()
While migrating from v5.15 to v5.19 of the Linux Kernel, a build error
was observed:

ERROR: modpost: "do_exit" [...] undefined!

The reason do_exit is undefined is because Linux Kernel commit
eb55e716ac1a ("exit: Stop exporting do_exit") removed the
EXPORT_SYMBOL() with the justification "there are no more modular uses
of do_exit".

Commit eb55e716ac1a was preceded by commit 111e70490d2a
("exit/kthread: Have kernel threads return instead of calling
do_exit") which details why, since commit 63706172f332 ("kthreads:
rework kthread_stop()"), it is unnecessary to call do_exit().

Note that commit 63706172f332 was introduced in 2009 in v2.6.31-rc1.
Since we do not need to support any kernels before that time, we can
follow the same advice and return instead of calling do_exit().

Currently do_exit() is only called from qdf_exit_thread(). As a result
of the preceding investigation, all former callers of qdf_exit_thread()
have been modified to no longer call it.  Since it is obsolete, remove
it.

Change-Id: I22f27692fa8766df080630b9b0640c259285557c
CRs-Fixed: 3300460
2022-10-06 11:15:50 -07:00
Jeff Johnson
8b3dca1820 qcacmn: Remove call to qdf_exit_thread()
Since Linux Kernel commit 63706172f332 ("kthreads: rework
kthread_stop()"), made in 2009 in Linux Kernel v2.6.31-rc1, it has not
been necessary for kernel threads to call do_exit(). Since we do not
support kernels earlier than that, remove the call to
qdf_exit_thread(), the abstraction function for do_exit().

See Change-Id I22f27692fa8766df080630b9b0640c259285557c for more
information on why this call is being removed.

Change-Id: I4de812397e8910e5117bc142bf9185c02d2d3ec0
CRs-Fixed: 3300459
2022-10-06 11:15:44 -07:00
Rajesh Chauhan
fcd8ef9da8 qcacmn: use netif_rx() instead of netif_rx_ni()
In kernel 5.18, netif_rx_ni() is removed. So redefine netif_rx_ni
with netif_rx.

Change-Id: Ia0e43089f028f3bfa71d658d1e64ddeafd32d289
CRs-Fixed: 3298369
2022-10-06 11:15:38 -07:00
Gerrit - the friendly Code Review server
3c359399dc Merge changes into wlan-cmn.driver.lnx.2.0 2022-10-06 09:28:30 -07:00
Jianmin Zhu
e43ce4ff37 qcacmn: Fix SAP start failed after dual sta enabled
With MLO enabled, MLO STA wlan0 will consumed 3 MAC address, consider 2nd
STA wlan1, p2p and NAN interface,  consumed 6 MAC addresses totally, SAP
failed to start for no MAC address.

To fix it, increase MAC address num to 7 when MLO supported.
Keep max vdev num as 6, no side effect on firmware.

Change-Id: Idbc3b7159ec3ceb42fa8a13718cd7402d6eb8090
CRs-Fixed: 3298515
2022-10-06 03:52:49 -07:00
Adwait Nayak
b9962b51e8 qcacmn: Fix handler to fetch the eht support capability
Update the handler to fetch the status of the supports_11be
capability flag properly.

CRs-Fixed: 3305253
Change-Id: I35a083b7b717b0cf4fbe40e2e00b8bfd0ada9082
2022-10-06 03:52:42 -07:00
Amruta Kulkarni
75494853d0 qcacmn: Add ml ie to link specific prb rsp generation
Currently link specific probe response ie does not include
the basic variant ml ie. This results in multi link connection failure.

To solve this add basic variant mlo ie in the link probe response.

Change-Id: I7d6e9bcc461bf4e855c5613ad28a08749303a81d
CRs-Fixed: 3301288
2022-10-06 02:12:41 -07:00
Asutosh Mohapatra
9ab40cb89e qcacmn: Fix uninitialized var ptr issue and null check for num_pscos
1.This change fixes the use of uninitialized
variable in host driver.

2.Adds NULL check for num_psocs in mlo_peer_calculate_avg_rssi to
avoid undefined behaviour.

Change-Id: Ifbfef42b5930dfe15736a75a74e81155c5f1fbce
CRs-Fixed: 3297794
2022-10-06 00:22:18 -07:00
Jeff Johnson
93723c6fe1 qcacmn: umac: mlo_mgr: Fix misspellings
Fix misspellings in umac/mlo_mgr/...

Change-Id: I740ec04feca2ed8fe38d0a6fe0cea31683bce439
CRs-Fixed: 3304699
2022-10-06 00:22:12 -07:00
Wu Gao
94c1dac609 qcacmn: Check vdev id when get cfr rcc enabled params
Host stops cfr without vdev id check. In MLO case, the other link
stops firstly and it will get mac id base on wrong vdev id. Finallly,
it cause FW assert. This change adds vdev id check when getting cfr
rcc enabled params and trying to stop cfr.

Change-Id: I745ff5398b3f00fdb84b62b0835c1dd2ab75fae1
CRs-Fixed: 3296067
2022-10-05 21:11:55 -07:00
Rajesh Chauhan
de24535ff4 qcacmn: objmgr: change prototype of functions to pass dev_addr as const
In kernel 5.17, net_device->dev_addr is changed to const unsigned char*.
Modify prototype of below functions to pass dev_addr as const:

 - wlan_objmgr_get_vdev_by_macaddr_from_pdev()
 - wlan_objmgr_get_vdev_by_macaddr_from_pdev_debug()
 - wlan_objmgr_get_vdev_by_macaddr_from_pdev_no_state()
 - wlan_objmgr_get_vdev_by_macaddr_from_pdev_no_state_debug()
 - wlan_objmgr_get_vdev_by_macaddr_from_psoc()
 - wlan_objmgr_get_vdev_by_macaddr_from_psoc_debug()
 - wlan_objmgr_get_vdev_by_macaddr_from_psoc_no_state()
 - wlan_objmgr_get_vdev_by_macaddr_from_psoc_no_state_debug()

Change-Id: I787fd26301d472e73e397fc89f05e4d8161877f7
CRs-Fixed: 3304954
2022-10-05 19:33:41 -07:00
Rajesh Chauhan
38b4da1cc9 qcacmn: add a new macro __qdf_alloc_size
In kernel 5.16, __alloc_size is defined in linux/compiler_types.h
file. So instead of calling this macro, define and use new macro
__qdf_alloc_size.

Change-Id: Ie1930bf2aaf0cb6bc079bc66aba9eeba92ec8c12
CRs-Fixed: 3295139
2022-10-05 19:33:35 -07:00
Rajesh Chauhan
788ee58105 qcacmn: use dma_set_mask and dma_set_coherent_mask
In kernel 5.18, pci-dma-compat.h is removed and so instead of
calling pci_set_dma_mask and pci_set_consistent_dma_mask, call
dma_set_mask and dma_set_coherent_mask.

Change-Id: I997fc8ec957d19aa8d51c304541ce699b835c1dd
CRs-Fixed: 3298244
2022-10-05 17:51:50 -07:00
Rajesh Chauhan
e895717ffb qcacmn: add a new function to update net_device->dev_addr
In kernel 5.17, net_device->dev_addr is changed to const unsigned char*
and can only be updated via dev_addr_mod(). Add a new function
qdf_net_update_net_device_dev_addr() to call kernel API dev_addr_mod().

Change-Id: Ifecfb453f5dc6b066892c04f4bdbec3759e32c53
CRs-Fixed: 3298120
2022-10-05 17:51:44 -07:00
Rajesh Chauhan
1cb111d3bc qcacmn: replace PDE_DATA() with pde_data()
In kernel 5.17, PDE_DATA() is replaced with pde_data(). Make
matching change in ath_procfs.c and linux_ac.c files.

Change-Id: Ia198545322146d4adde9330c19b43f5c2ed0dfa2
CRs-Fixed: 3298062
2022-10-05 17:51:38 -07:00