Commit Graph

28 Commits

Author SHA1 Message Date
Aditya Kodukula
949885e505 qcacld-3.0: Add support for size 1 flexible length arrays
Convert size 1 variable length arrays to flexible
length arrays.

Change-Id: I348d479c94a27f4cecc02c8fc9fa98cfb9572baa
CRs-Fixed: 3690224
2024-03-11 21:18:49 -07:00
Jianmin Zhu
f7fc5bc815 qcacld-3.0: Check whether p2p device dynamic mac update supported
If F/W doesn't support p2p device dynamic mac update, after dynamic mac
update, p2p tx will fail.

Check whether p2p device dynamic mac update supported by target, if not
supported, reject p2p device dynamic mac update request from upper layer.

Fix warning of uninitialized status.

Change-Id: I845bd9683f2b68c3ed28292917601fdefed13f72
CRs-Fixed: 3680411
2023-12-28 13:00:38 -08:00
Deeksha Gupta
964f138fd9 qcacld-3.0: Added new parameter in p2p_set_noa command
Added support for new "start" parameter in
p2p_set_noa driver command.

Change-Id: I8bc743141ea6d9cfdf49ca89b0835f2e5519a12e
CRs-Fixed: 3557825
2023-09-05 20:18:58 -07:00
Surya Prakash Sivaraj
cfd8da1768 qcacld-3.0: Keep "p2p_go_on_5ghz_indoor_chan" ini disabled
Keep the ini "p2p_go_on_5ghz_indoor_chan" disabled by default.

Change-Id: If6a4b1a62959299aa5fceb5342571912c5e72c9b
CRs-Fixed: 3540166
2023-06-30 20:28:13 -07:00
Pragaspathi Thilagaraj
282f018e47 qcacld-3.0: Handle TDLS concurrency during CSA
If CSA on SAP/P2P GO causes MCC with the current STA TDLS vdev,
then teardown the TDLS connections, disable off channel and send
disable TDLS to firmware.
If CSA causes MCC -> DBS or MCC -> SCC then allow TDLS and update
the peer off channel list to firmware
Disable TDLS off-channel before SAP/P2P GO vdev restart.
Once CSA is complete, TDLS off-channel will be re-enabled based
on the concurrency.

Add interface manager changes to notify STA channel switch.

Change-Id: I36b359a7e1cf570cfb2b2f0e6abedf148a8fd174
CRs-Fixed: 3445112
2023-04-12 12:53:47 -07:00
Surya Prakash Sivaraj
34ec96337f qcacld-3.0: Cleanup P2P GO support on indoor channel
Rename policy_mgr_is_sap_allowed_on_indoor() to
policy_mgr_is_sap_go_interface_allowed_on_indoor() since
it is common between SAP and GO. Cleanup the API as well.

Change-Id: I8380bd81c5050e9f12c00fff830455f14135c2b4
CRs-Fixed: 3423703
2023-04-06 20:05:37 -07:00
Surya Prakash Sivaraj
534c627cea qcacld-3.0: Support P2P GO on indoor channels
Add a new ini "p2p_go_in_indoor_chan" to enable support
for p2p go operation on indoor channels.

Do not allow standalone SAP on indoor channels if the
SAP indoor channel support is not enabled.

Change-Id: I2e6220ebcefe09b4ad5de496c36879ef048cb5b8
CRs-Fixed: 3405597
2023-02-28 20:00:35 -08:00
Jeff Johnson
a24656423c qcacld-3.0: Fix P2P Documentation
The kernel-doc script identified a few documentation issues in
components/p2p, so fix them.

Change-Id: I24e612e8976e721281a6ede4afefd20de0622599
CRs-Fixed: 3359593
2022-12-27 19:09:38 -08:00
Pragaspathi Thilagaraj
3a49e2cdfe qcacld-3.0: Converge p2p_set_mac_filter for management frame tx
In management frame TX path from userspace, the
p2p_set_mac_filter structure is used and is defined under P2P
converged macro.

Converge this p2p_set_mac_filter structure to set_rx_mac_filter
structure in qca-wifi-host-cmn to use this by all components

Change-Id: Iefcf36f8b327458b2418bd364ae84b28ca56e7f9
CRs-Fixed: 3306700
2022-10-12 08:18:35 -07:00
Jeff Johnson
ef20cc3a0e qcacld-3.0: components: p2p: Fix misspellings
Fix misspellings in components/p2p/...

Change-Id: I220faae813cd79d7b5fe656158768d1eff4718de
CRs-Fixed: 3303638
2022-10-03 02:00:58 -07:00
Jianmin Zhu
56608e95ec qcacld-3.0: Fix assert for race condition
When disconnect from wpa_supplicant and cm event from F/W happen at same
time, supplicant holds cm cm_req_lock and wait rsp of p2p cleanup roc from
scheduler thread until 2 sec timeout, sheduler thread is blocked to wait
for cm_req_lock.

When wmi peer delete of vdev0 is not sent within 1.2 sec after host send
wmi peer delete of vdev1, firmware will assert.

To fix it, don't wait rsp of p2p cleanup roc when disconnect by async way.

Change-Id: I877b7a446dfd12f621dad5049a67574359bdd322
CRs-Fixed: 3285115
2022-09-08 14:00:06 -07:00
Amruta Kulkarni
08bcbf1eca qcacld-3.0: Change file names to cfg_*.h
Change file names from wlan_cfg_*.h to cfg_*.h

Change-Id: If0d12efdea21513826553b8bcee88d7161482591
CRs-Fixed: 2856357
2022-03-28 10:47:43 -07:00
Liangwei Dong
ea23c5f897 qcacld-3.0: Process MCC quota target event
Add and Register target if API to process MCC
quota wmi event. Deliver the event to existing
interfaces.

Change-Id: Ib044a336af2f5093dffbb053e65a52a174b85154
CRs-Fixed: 3101870
2022-03-24 13:18:12 -07:00
sheenam monga
14a98fd26d qcacld-3.0: Handle user initiate CSA in p2p go+go concurrency
If p2p go+go concurrency exist and g_enable_go_force_scc ini sets
to 2(liberal mode) then 1st p2p go channel should move to 2nd
p2p go channel after set key. Again, when user initiates CSA to
one p2p go then the force SCC doesn't happen to other p2p go.
But the expectation is all p2p go should move to same channel
which is initiated by user.

As part of fix, move all p2p go to same channel when user
initiates.

Change-Id: I1664e5a7d545d29c32b94e8e4831c71a9cc0ae23
CRs-Fixed: 3064245
2021-11-18 17:05:02 -08:00
Srinivas Dasari
3d0e41cad1 qcacld-3.0: Abort any ongoing p2p scans while enabling NAN
Framework disables p2p before enabling NAN as P2P+NAN concurrency
is not supported. NAN operations happens through wifihal and p2p
operations happen through wpa_supplicant which are two different
userspace components. Wifihal call to enable NAN may come to host
driver before disabling p2p through wpa_supplicant. There are high
chances for p2p scan to be in running state while NAN enable is
received. Firmware NAN state machine goes to inconsistent state
and disables NAN as p2p scan is running in such cases.
So, stop the ongoing p2p scan before enabling NAN as P2P+NAN
concurrency is not supported currently.
Also, forward the pdev to NAN component inorder to iterate through
all P2P vdevs.

Change-Id: Ibe30a5ebe90514aee4f6721cdc5476570524cad8
CRs-Fixed: 3054576
2021-10-19 16:25:15 -07:00
Will Huang
a54bb30ccb qcacld-3.0: Rename variables name chan to chan_freq of wlan_hdd_mgmt_tx
We have fixed using channel number as internal parameter instead of
chan frequency with change I60fe37d7d716eeaceaa00f3fb59c77b629ebacac,
but variables name are still chan which might cause confused to reader.

Rename all places where "chan" to "chan_freq", which actually channel
frequency used. And alter miss APIs which still expect channel number.

Change-Id: I948cbad133a17093f49384b563966d2c53b51707
CRs-Fixed: 3033951
2021-09-15 08:40:19 -07:00
Will Huang
7b2c4923c7 qcacld-3.0: Fix mgmt tx from supplicant failed on 6Ghz chan
Currently wlan_hdd_mgmt_tx path is still using legacy API to convert
channel frequency to number, it is not applicable for 6Ghz channel if
convert it back from number to frequency.

Fix it by replace all places where using legacy API to convert channel
and use channel frequency from supplicant directly. It can fix mgmt tx
from supplicant on 6Ghz channel.

Change-Id: I60fe37d7d716eeaceaa00f3fb59c77b629ebacac
CRs-Fixed: 3024898
2021-09-09 06:30:38 -07:00
Jyoti Kumari
08eb756a51 qcacld-3.0: Don't use wlan_chan_to_freq
As part of regulatory cleanup, wlan_chan_to_freq() is removed.

Use wlan_reg_legacy_chan_to_freq()/wlan_reg_chan_band_to_freq()
instead of wlan_chan_to_freq().

Change-Id: I9d105863f8d6384c97e8219b89a230c863e29d19
CRs-Fixed: 2933440
2021-06-08 01:08:27 -07:00
Bapiraju Alla
2bd65bf01f qcacld-3.0: Add support to generate random sequence numbers
As per specification sequence numbers of action frames also needs
to be randomized when the source MAC address is randomized. Currently
this feature is not implemented in the driver as a result corresponding
test case is failing.

To address this, add support to sequence number randomization in the
driver. Also add a INI param to control this feature.

Change-Id: Icd7b6fd55b324a8d6b1226d89f19be0ad9385e0a
CRs-Fixed: 2829032
2021-01-21 23:23:39 -08:00
gaurank kathpalia
f8a769a7b6 qcacld-3.0: Add cnx mgr logic for connect and disconnect ext ind
Add connection manager logic to handle p2p/tdls/policy mgr logics
on connect/disconnect start and complete ext indication. And
add the call to csr to update the legacy structs.

Change-Id: I218a1d193dd62ad041e84078bd2509b82ec11363
CRs-Fixed: 2846663
2020-12-30 11:24:34 -08:00
Gururaj Pandurangi
1f00e9ccd1 qcacld-3.0: Change Internal/External to External
Change the usage of cfg parameters from Internal/External
to External in .h description for mlme, p2p, and
policy manager files.
External means that both internal teams and external
customers can modify the parameters.

Change-Id: Ic1e68d5a90be2c898ce66aa18e8d91f16561b408
CRs-Fixed: 2712773
2020-07-29 00:23:16 -07:00
Abhishek Ambure
48b790c62d qcacld-3.0: Add INI support to disable STA roaming
Use INI "sta_disable_roam" to disable roaming on STA interface if
connection on other interfaces ex. p2p, ndp comes up. Each bit of
the INI "sta_disable_roam" represents an interface.
ex. LFR3_STA_ROAM_DISABLE_BY_P2P BIT(0)
    LFR3_STA_ROAM_DISABLE_BY_NAN BIT(1)

As INI "sta_disable_roam" is generic for all the interfaces, cleanup
for INI "p2p_disable_roam" done.

Change-Id: Icd05a97c640ca07978d9960a33de036ed6fe38df
CRs-Fixed: 2637555
2020-03-13 19:22:14 -07:00
Pankaj Singh
8cf6c634b6 qcacld-3.0: Disable all roam scan in case p2p connection is present
Glitches seen after the STA disconnection because of the roam scan
triggered on a heartbeat failure ( beacon miss ).STA does a partial
scan followed by full scan causing the DUT to go off-channel from
the STA and P2P home channel, causing the music BLIP.

Fix is to disable roaming irrespective of data traffic present
or not on P2P interface and enabled again once P2P is disconnected.

Change-Id: I5ddf946adbfbe99d5b20c23c46b2b4ac0bfac47f
CRs-Fixed: 2632939
2020-03-04 15:31:46 -08:00
Ashish Kumar Dhanotiya
ca5d922263 qcacld-3.0: Process rx_mgmt_pkt based on frequency
As a part of 802.11ax amendment, 6GHz band operation is added.

Since the 6 GHz channel numbers are overlapping with existing 2.4GHz
and 5GHz channel numbers, use frequency to identify unique channel
operation instead of channel number. Channel frequency is unique across
bands.

As part of above requirement add logic to process rx mgmt
packets based on the frequencies instead of channel numbers.

Change-Id: Ib063070738ecdb4f83379eafe50629778a490aae
CRs-fixed: 2522693
2019-10-18 02:55:17 -07:00
Pragaspathi Thilagaraj
b3472f0fcd qcacld-3.0: Implement WAR for P2P GO 1x1 HT association with peer
In P2P GO mode, if the P2P client device is not VHT capable and
only HT capable, but the DUT P2P GO is VHT capable and advertises
2x2 NSS and sends packets with 2x2 rates, it results in interop
issues with HT only capable P2P client devices.

When GO is operating in DBS mode, GO beacons advertise 2x2
capability but include OMN IE to indicate current operating mode
of 1x1. But here peer device is only HT capable and will not
understand OMN IE.

Check if the P2P client device is only HT capable and has
"\x00\x50\xf2\x04". Then downgrade the P2P GO operation to 1x1
nss. Modify rx mcs map value in association response to enable
only mcs 0-7.

Change-Id: I7177c5aee9a560a20c50a63886c0ee77f7d617ae
CRs-Fixed: 2464925
2019-06-25 13:05:57 -07:00
Bala Venkatesh
448e8cd53e qcacld-3.0: Move the INI gSkipDfsChannelInP2pSearch to scan component
Currently, INI gSkipDfsChannelInP2pSearch is initialized in P2P
component and later copied to scan component for usage.
Since this INI is only used by scan component and not the P2P
component, move the initialization part also to the scan
component.

Change-Id: I44a6208ab5f3ee062073550143e23e5800342376
CRs-Fixed: 2405395
2019-02-28 18:35:37 -08:00
Wu Gao
637d58a4c1 qcacld-3.0: Enable P2P component in CLD
P2P component related files moved from hostcmn to CLD, this change
adds initial functions, enables P2P in Kbuild.

Change-Id: I04102a5f3e59ded13ada15b1b417ae81c7a10e90
CRs-Fixed: 2361500
2018-12-11 17:25:51 -08:00
Linux Build Service Account
11a56702a8 Move umac/p2p to components/p2p
Change-Id: I8ca4c55470674422eca2dc80dd269cf45d4942ea
2018-12-04 15:32:54 +05:30