提交图

3813 次代码提交

作者 SHA1 备注 提交日期
Jeff Johnson
08e20d47d6 qcacmn: Fix global_umac_dispatcher documentation
The kernel-doc script identified a large number of kernel-doc issues
in the umac/global_umac_dispatcher folder, so fix them.

Change-Id: I576614727dd2be174563c2af4bb055ebb05e61fd
CRs-Fixed: 3375263
2023-01-24 04:49:13 -08:00
Hariharan Basuthkar
3903f58981 qcacmn: Add API to set/unset is_6g_afc_power_event_received flag
Add API reg_set_power_event_received_flag to set
is_6g_afc_power_event_received flag with a given value.

Change-Id: I322c3724f23c611d1a0d65248b777501c742000e
CRs-Fixed: 3260971
2023-01-24 04:48:32 -08:00
Jeff Johnson
8dabb37995 qcacmn: Fix bad crypto function brace placements
Per the coding style "functions [...] have the opening brace at the
beginning of the next line."

In umac/cmn_services/crypto there are two files that are not
consistently following this style, so fix them.

That will address the following error flagged by the Linux checkpatch
script:
ERROR:OPEN_BRACE: open brace '{' following function definitions go on
the next line

Change-Id: I774e027c594689b8ab4ff49bab5fc0b536d685f6
CRs-Fixed: 3384735
2023-01-24 01:35:26 -08:00
Mukul Dhiman
c56d208844 qcacmn: Add wmi support to extract telemetry stats from FW
Add wmi support to extract telemetry stats from FW.

Change-Id: I050b22b594145739adcf7ddf8e6fc85866a27625
CRs-Fixed: 3376698
2023-01-22 22:26:01 -08:00
Mukul Dhiman
b590809644 qcacmn: Add wmi support to get telemetry stats from FW
Add wmi support to get telemetry stats from FW.

Change-Id: I7aec4ff19dc0a23755f572d3bca32f8491c60a5b
CRs-Fixed: 3376707
2023-01-22 22:25:44 -08:00
Asutosh Mohapatra
db349c2678 qcacmn: Don't use LPI as default power type
Currently host uses LPI as default power type when STA and
AP country is same without checking if powertype advertised
by AP is valid for client or not.

To address this issue default to power type advertised by AP.

Change-Id: I59144b020bed5af49dea8fdaad0e59daa556fefe
CRs-Fixed: 3381295
2023-01-20 19:09:17 -08:00
Santosh Anbu
cec48e1067 qcacmn: Print psoc id along with vdev id
As part of VDEV SM history only vdev id is logged.
In multi psoc scenario it's difficult to differentiate vdevs across
psoc as vdevs share same id across psoc.

Hence add change to log psoc id along with vdev id.
CM-PS_0-VD_1: Connection SM PSOC:1 VDEV:2

Change-Id: I83f6b69e1ea308032ad8a58e4c81b74b76a277d3
CRs-Fixed: 3364875
2023-01-20 19:09:03 -08:00
Santosh Anbu
9bc8b332c4 qcacmn: Print psoc id along with vdev id
As part of VDEV SM history only vdev id is logged.
In multi psoc scenario it's difficult to differentiate vdevs across
psoc as vdevs share same id across psoc.

Hence add change to log psoc id along with vdev id.
VM-PS_0-VD_1: VDEV SM PSOC:0 VDEV:1

Change-Id: I0bba894a79b3ad9e7ce64ec5219eb7c65767f19b
CRs-Fixed: 3364875
2023-01-20 19:08:49 -08:00
Rahul Gusain
cb88ed3ace qcacmn: Notify first connect failure response
Currently, host driver notifies the last connect failure to upper
layers. But some customer needs the first connect failure response.
So, in this change, cache the first connect failure response in connect
request structure and it retrieves it when all candidates are failed
to connect and notify it to upper layer.

Change-Id: I850c20cdfeb0c8423d074094f97c83599e43b409
CRs-Fixed: 3378788
2023-01-19 12:28:26 -08:00
Rahul Gusain
e140e6779e qcacmn: Add new INI param for BSSID filter
Currently, driver only sorts the BSSID according to scoring algo.
But some customer need to prioritize the BSSID HINT and filter out
BSSID (except BSSID HINT) which have RSSI value lower than value
defined in INI parameter.
For this, add new INI parameter to configure RSSI value
and check this RSSI value for all BSSID expect BSSID HINT.

Change-Id: Ib942f32878b35cbdb20ba669808f4a5c8820ebd7
CRs-Fixed: 3378781
2023-01-19 05:04:23 -08:00
Srinivas Dasari
539d3bfb53 qcacmn: Add APIs to set and get acs_mode in vdev mlme obj
To support fixed channel SAP in unsafe channels, driver needs
to cache and retrieve SAP start mode i.e. ACS or fixed.
Add a new param is_acs_mode to vdev_mlme_mgmt_ap and APIs to
set and get the same through vdev.

Change-Id: Ib274b95be66e774b15f4687a02ed7fef6bf21056
CRs-Fixed: 3381401
2023-01-19 00:47:38 -08:00
Divya R
8d986f372a qcacmn: Add dispatcher for reg_get_num_rules_of_ap_pwr_type
Add dispatcher for function reg_get_num_rules_of_ap_pwr_type
to get the number of rules supported for given power mode

Change-Id: I084cc4e47ed16a71c1a8a7db4a6f046a0007a9d7
CRs-Fixed: 3378907
2023-01-18 11:50:11 -08:00
Vignesh U
bcbe6a3d15 qcacmn: Use EHTOP IE to validate puncturing bitmap
When the STA finds a candidate AP to connect to, it checks if the
primary 20 MHz channel is punctured or not. This validation is currently
done using scan channel parameters. The scan channel parameters are
intersected to the STA's capability and might not reflect the original EHT
OP IE parameters. For example, consider an 11ax STA in HE160 MHz mode
trying to connect to a 11be AP operating in EHT320 MHz mode. The scan
channel parameters are intersected to the STA's capability of 160 MHz.
The scan channel parameters like 320 MHz center frequency and puncturing
bitmap are inconsistent with the CCFS1 and punturing bitmap received in
the EHT OP IE.

So, instead of using the intersected scan channel parameters stored in the
STA to validate puncturing bitmap of the AP, use the EHT OP IE received
from the AP to validate puncturing bitmap.

Change-Id: I0cdc56eea96f04eb96327506bfd61c0f3a9109bb
CRs-Fixed: 3364639
2023-01-18 09:56:05 -08:00
Jeff Johnson
183cd295b8 qcacmn: Fix umac/cfr documentation
The kernel-doc script has identified multiple documentation issues in
umac/cfr, so fix them.

Change-Id: Ie459075a92719e4708021cb965fdbab1f682df24
CRs-Fixed: 3372808
2023-01-18 09:55:49 -08:00
Jianmin Zhu
ae49020462 qcacmn: Enable SAP 320M puncture
For a 320M bonded channel, if one of the subchannels is disabled due to
nol or static puncture, the return status becomes disabled. To correct
the status for the valid patterns, remember if at least one channel is DFS
and set the status to either DFS or enabled.

Change-Id: I4cac0afe29e6071e551c087b9d6e413b227eb18d
CRs-Fixed: 3369915
2023-01-18 06:01:20 -08:00
Asutosh Mohapatra
7bdff08dd1 qcacmn: Add new INI to separate scan policy for rest of world users
Currently host drops an AP from scan list if host country is set to
US and AP country is non-US. This implementation violates our
standard regulatory scan policy.

To address this issue, introduce a new INI to differentiate
between our standard regulatory policy with others.

Change-Id: Id72f871653e31969c4d1b147cb3c557f90a6c8f6
CRs-Fixed: 3361720
2023-01-18 06:01:04 -08:00
Asutosh Mohapatra
e4407d89d1 qcacmn: Do not allow connection if STA VLP not supported
If country code for AP and STA are same and if STA does not
support VLP mode for a particular channel and if AP power
type is misconfigured to VLP mode, do not allow connection
to that AP as per regulatory guidelines.

Change-Id: Ie3bb980df25a15c4d9d7e566663e28950414f733
CRs-Fixed: 3362142
2023-01-17 21:06:08 -08:00
Priyadarshnee Srinivasan
8aac71d828 qcacmn: Enable channel 144 for Japan by default
Enable channel 144 for JAPAN country by default. From regdomain
version 31, JAPAN is mapped to MKK17_MKKC instead of MKK5_MKKC. As per
the regdomain definition of MKK17, channel 144 must be enabled by
default. Only for MKK5 regdomain, channel 144 must be enabled based on
user config "setch144".

CRs-Fixed: 3375932
Change-Id: I48411f7f77ebbb9944dcf4988bb9ac22587e2074
2023-01-17 21:05:54 -08:00
Roopavathi Lingampalli
04a62bd736 qcacmn: Add Component APIs for required ucfg APIs
Implement component APIs for existing vdev_mgr
to get bssid in DP component module.

Change-Id: If70832308028ad1965f4960bc2ba9664b7c09452
CRs-Fixed: 3351504
2023-01-17 21:05:23 -08:00
Pooja T C
324b10dec5 qcacmn: Changed debug traces severity level
Changed scm_err_rl to scm_debug_rl to stop the prints from flooding.

Change-Id: Ida541ac96bf656fc68d0a6fd7cca302d2071585b
CRs-Fixed: 3347726
2023-01-17 21:05:09 -08:00
Himanshu Batra
36108b2504 qcacmn: Remove scan entry search from link add API
During link add, since the vdev would be down, it won't have scan
entries.
Hence, remove scan entry search from link add API

Change-Id: Ifd45b546124739e6c31b2a3691cdb90a3f624ecf
CRs-Fixed: 3377283
2023-01-17 07:34:48 -08:00
Asutosh Mohapatra
11dfead265 qcacmn: Use mac_addr pointer as constant
Use mac_addr pointer as constant in wlan_hdd_ml_sap_get_peer,
hdd_set_mld_address and use the same for consecutive APIs.

Change-Id: I19e07512bf09b01f26ef8b2bc3876f3d3e85ba2f
CRs-Fixed: 3374923
2023-01-17 05:29:58 -08:00
Uraj Sasan
f8dfbc3195 qcacmn: Add Support for 4 Link MLO
4-Link MLO support.

Change-Id: Ia9053e119d4938bf6b80dcd8c70037e7c2bb91d0
CRs-Fixed: 3359269
2023-01-17 01:41:37 -08:00
Gururaj Pandurangi
880ee4dd1a qcacmn: Add function declaration to a T2LM API
- To invoke the API wlan_send_tid_to_link_mapping from other
files, change its static definition and add a function
declaration.
- Remove repetitive logging of T2LM params in
wlan_mlo_parse_t2lm_info API.
- HMT STA host needs to send T2LM mapping info to FW only
on one peer instead of both peers in case of WKK.
Thus, add new API under MCC flag to address this issue.
The original changes will remain under else case.

Change-Id: I2495fddca7dc5da253a6d10ab41b70cf7f627156
CRs-Fixed: 3373326
2023-01-15 07:08:38 -08:00
Shashikala Prabhu
88785d0116 qcacmn: Rename broadcast T2LM data structure
- Replace T2LM array in wlan_t2lm_context structure with established_t2lm
  and upcoming_t2lm structures
- Mapping switch time is different for each AP vdevs. Hence, store the
  value in vdev_mlme_proto_ap structure.
- Fix a few issues seen in mapping switch time expiry and expected duration
  expiry.

Change-Id: Id69badc3f4bf5e5e741691348488369008ffc4e9
CRs-Fixed: 3369279
2023-01-14 01:12:56 -08:00
Pavankumar Nandeshwar
2d884cc639 qcacmn: Add a new reference id for intra bss
Add a new umac reference id for intra bss
feature related functionalities.

Change-Id: I3e2c98cee72e3cdfa70f9feb2b0c0c66176e90b5
CRs-Fixed: 3362569
2023-01-13 18:40:29 -08:00
Vinod Kumar Myadam
95b9b6dc2f qcacmn: Update API to use super channel list
The current channel list alone is not enough to represent the
capability of the chip or device. Given a channel, in many
cases it may be required to know all the power modes that are
supported by this channel.

Remove wlan_reg_fill_channel_list to use the super channel API
wlan_reg_fill_channel_list_for_pwrmode.

Change-Id: I9645caff236af786b6376608be2aa56a28fe689c
CRs-Fixed: 3357161
2023-01-13 16:38:16 -08:00
Jianmin Zhu
9e9d36c5ed qcacmn: Add check to avoid OOB warning
Add check to avoid OOB warning

Change-Id: I5fc404141a75262190ecf358f78f0e903b1b32c8
CRs-Fixed: 3374793
2023-01-13 12:49:08 -08:00
Santosh Anbu
0f5242e08a qcacmn: Acquire mlo lock before dispatching sync_comp
In MLO scenario where start response for partner ML AP vdevs are
processed simultaneously on different CPU cores, the order in which
the vdev sm lock is acquired may lead to deadlock.

To fix add change to dispatch the MLO_SYNC_COMPLETE under mlo_dev_ctx.

Change-Id: I86ef51fcc8d51277163fcc5a6afdee6d873f2e63
CRs-Fixed: 3368033
2023-01-10 05:31:43 -08:00
Paul Zhang
c62c548597 qcacmn: Public api wlan_mlo_parse_t2lm_info
Public api wlan_mlo_parse_t2lm_info for others to use.

Change-Id: Id66f33abb7cb2c33503efa7b12ff52080ea30e6c
CRs-Fixed: 3365976
2023-01-06 09:56:59 -08:00
Edayilliam Jayadev
3a12fcc91e qcacmn: Fix compilation issues in management Rx REO simulation
Fix compilation issues in management Rx reorder simulation
framework.

CRs-Fixed: 3364105
Change-Id: I74041e1d7b4fde289b5e09086d438af529255a8b
2023-01-06 07:45:26 -08:00
Jianmin Zhu
b98a087c60 qcacmn: Add API to check state of all mlo vdev
Add API to check state of all mlo vdev to avoid roaming and disconnect
race issue.

Change-Id: Idc9a9a57f433aeff185fe78826faa84e08c09ddb
CRs-Fixed: 3372132
2023-01-06 07:45:14 -08:00
Surya Prakash Raajen
cbc0170b1c qcacmn: Move group id sanity check to pdev check
Move group ID Sanity check to mlo pdev check

Change-Id: I7b895972c2799194c5bc0cf4b22629acd1c2b7fd
CRs-Fixed: 3343170
2023-01-05 22:33:07 -08:00
Surya Prakash Raajen
6ef9d4cb8e qcacmn: Add multi group support for MGMT Rx Reordering
Add multi group support for MGMT Rx Re-ordering.

Change-Id: I2b172d1f0db58afee06db3eefc06b618fcf9a627
CRs-Fixed: 3343170
2023-01-05 22:32:57 -08:00
Surya Prakash Raajen
4d5db3f69b qcacmn: Add multi group support for dp handles
Add multi group support for dp mlo context handles.

Change-Id: I076003d04db745cfcce4bd879e6d92181bba8ef9
CRs-Fixed: 3343170
2023-01-05 22:32:47 -08:00
Surya Prakash Raajen
93d7b3fc1a qcacmn: Add support for multi group in global memory region
Add support for multi group in global shared memory region.

Change-Id: Ib8920f9180b3ba50f3f8faf0d9b020abfd0bc150
CRs-Fixed: 3343170
2023-01-05 22:32:37 -08:00
Surya Prakash Raajen
0fdd53b791 qcacmn: Add support for mlo groups in mlo setup and teardown
Add support for mlo groups in mlo soc/link setup and teardown
sequence participating in mlo.

Change-Id: I2b431b0ee1e5816b92ad183b52ad2998eb5bb46c
CRs-Fixed: 3343170
2023-01-05 22:32:26 -08:00
Himanshu Batra
aaf04d8bc5 qcacmn: Clear MLD caps of vdev on connect req failure
Clear MLD caps of vdev on connect req failure

Change-Id: Ic1615b0b13a02c4655192133f9afe58380edf5a5
CRs-Fixed: 3364986
2023-01-05 20:52:31 -08:00
Srinivas Dasari
f5aa4b6700 qcacmn: Validate available buffer before adding ML IE to link frame
Non-assoc link might be superior in features compared to assoc
link and the per-STA profile info may carry corresponding IEs.
These IEs are extracted and added to IE list of link probe
response while generating it. So, the link probe response
generated from assoc link probe response might be of more size
than assoc link probe rsp. It's caller responsibility to allocate
buffer for the derived scan entry considering the copied IEs from
ML per STA profile.
Add a check to validate the available buffer while copying the
ML IE (as it's copied after deriving IEs from per STA profile) as
this is missing currently.

Change-Id: Ieafc9730ad098abb80fb1f3c14eb22b6b590ff20
CRs-Fixed: 3364159
2023-01-05 14:31:30 -08:00
Pooventhiran G
e69557093d qcacmn: Fix Rx PN error stats for broadcast mgmt frames
Rx PN error stats for broadcast management frames is being tracked
as a ucast stats. Fix it to be tracked as part of mcast stats.

Change-Id: If76c512107728b792ed6d92d56036325592f0fd1
CRs-Fixed: 3361840
2023-01-05 14:30:52 -08:00
Surabhi Vishnoi
c912d8c2e6 qcacmn: Fix 6 GHz bss HE capable beamformee score
Currently, BSS beamformee score is calculated from vht_cap or
eht caps, so for 6 GHz HE capable BSS it will calculated to zero.
Due to this 5 GHz will always get selected compared to 6 GHz BSS with
all other capabilities and conditions same in both BSS as 5 GHz
will have more total candidate score.
Fix this issue by correct calculation of AP beamformer capability
in case of 6 GHz HE BSS.

Change-Id: I0f3285ce1c5c1aeeba624c5371ff0f884ae78c58
CRs-Fixed: 3351991
2023-01-03 11:48:49 -08:00
Arun Kumar Khandavalli
c3fd408a86 qcacmn: Deinitialize t2lm context correctly
Deinitialize the t2lm context so that locks/timer will get
freed correctly.

Change-Id: I392f5c89f5c144413ed6144f499fadf054c547c5
CRs-Fixed: 3359134
2023-01-03 09:40:24 -08:00
Asutosh Mohapatra
1ade380fc3 qcacmn: Use mac_addr pointer as constant
Use mac_addr pointer as constant in wlan_hdd_ml_sap_get_peer,
hdd_set_mld_address and use the same for consecutive APIs.

Change-Id: I3ab7b0f3c03e9175c62179029efb53fb9fe75277
CRs-Fixed: 3342115
2023-01-02 15:01:22 -08:00
Santosh Anbu
001bc02d42 qcacmn: Avoid deadlock in back to back connect for MLO
When mlo_connect is posted, mlo_dev_ctx lock is acquired.
As part of which is CM is not in init state, disconnection is posted
before processing of connect request.

In disconnect, mlo_sta_vdev_list is fetched which internally takes the
same mlo_dev_ctx lock leading to deadlock

Add fix to avoid deadlock in back to back connect handling.

Change-Id: Ic88229a7709e11edc790fb66401bb0336d8a1e27
CRs-Fixed: 3365031
2023-01-02 07:29:53 -08:00
Himanshu Batra
fcba5ea249 qcacmn: Add API with flag to validate disconnect request
In case of ml_activate_pend_disconn_req_cb, mlo_disconnect is called
which validates disconnect request. If the disconnect was deferred due
to race in mlo connect notify event and disconnect received by mlo
manager, then ml_activate_pend_disconn_req_cb will end up in a deadloop
where it will always defer any disconnect due to above race.
Hence, add API with flag to validate disconnect request.

Change-Id: Ifa434a2f2f5e7a4d17d25349cb7ab86fa50ce043
CRs-Fixed: 3361387
2022-12-29 22:06:03 -08:00
Deeksha Gupta
61aaf2474b qcacmn: Add MLD Address and no of link print in scan entry
Print MLD address and number of links info in scan entry
in case of ML AP.

Change-Id: I3ed5d1d311a9f498fae0881e3de8720d907199e1
CRs-Fixed: 3355435
2022-12-29 18:34:24 -08:00
Santosh Anbu
31a73b18df qcacmn: Avoid ml_ap_ctx access on STA vap
In scenario where mbssid is enabled (is_mbssid_enabled) on STA ML VAP,
if ML STA is trying to assoc to Non-ML AP, on freeing AID at the STA
ml_ap_ctx is referred which is not set for STA vap leading to null
pointer access.

Check for validity of ml_ap_ctx before access.

Change-Id: Ib8b924cfc035c1e3aeeb5154ef6d736aee6ba077
CRs-Fixed: 3357392
2022-12-28 11:44:09 -08:00
Himanshu Batra
fccca888fc qcacmn: Fix to avoid invalid mlo dev lock release
Fix to avoid invalid mlo dev lock release

Change-Id: I09da203114dcf8832c2e464b09f58691f52c0458
CRs-Fixed: 3368215
2022-12-28 08:12:02 -08:00
Surya Prakash Sivaraj
f8f148db6a qcacmn: Fix unwanted vdev ref release
In reg_compute_indoor_list_on_cc_change(), vdev
release is not needed if the vdev is not found.
Therefore, proceed with the loop instead of release
of the vdev reference.

Change-Id: I92c909d0f7e6e262e64e5d1dc01481dc452da194
CRs-Fixed: 3363892
2022-12-28 00:47:54 -08:00
Deeksha Gupta
f1acd4d6d6 qcacmn: Add support to get Link info from reconfig ML IE
In the driver, add support to get the Link information from a given
reconfig variant Multi-link element.

Change-Id: Ia23b26ddb4195da21c071ee5f3c198e0492ef952
CRs-Fixed: 3348524
2022-12-27 11:09:13 -08:00