Commit Graph

2233 Commits

Author SHA1 Message Date
Pragaspathi Thilagaraj
03337a051c qcacld-3.0: Send connectivity logs only for STA mode
Connectivity management frame logs are sent for SAP mode also but
should be sent for STA mode only.

Send connectivity/roaming logs only for station mode.

Change-Id: Ib9ae7824f7eca61fdce4c2c163a24554e7b2eb36
CRs-Fixed: 3165658
2022-04-04 21:00:13 -07:00
Srinivas Girigowda
e5bb379ee3 qcacld-3.0: Return -EAGAIN if TWT setup is issued and PS disabled
As per the requirement, if TWT setup request is issued when
power save is disabled, expectation from driver is to return -EAGAIN.

Change-Id: I7a519d15787f912338afabf7e83b561cb3a2ebc0
CRs-Fixed: 3163880
2022-04-04 21:00:06 -07:00
Ashish
4e33f10a0c qcacld-3.0: Do not allow NAN on passive channels
Current NAN is allowed on passive channels which is not
expected as passive channels does not allow initial
trnsmission.

To address above issue, do not allow NAN on passive
channels.

Change-Id: Ied7ba8eb38feb528209cafa6793aed93456989d6
CRs-Fixed: 3157369
2022-04-03 17:56:00 -07:00
Alan Chen
34e8c569ca qcacld-3.0: Enable pci gen switch feature by default
Enable pci gen switch feature by default since the ini will not take
effect unless the feature flag is enabled in FW too.

Change-Id: I4170ddc84e994829e1f8144d3a90deddfe71f280
CRs-Fixed: 3162231
2022-03-29 21:56:18 -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
Bing Sun
d875181af1 qcacld-3.0: Check g_son_cbs before accessing it
If g_son_cbs[*] is null. do not access fields in g_son_cbs[*].

Change-Id: I83314adf3110885f8ce6af0b3b1317c0c0ebd6ae
CRs-Fixed: 3053553
2022-03-25 14:33:21 -07:00
Bing Sun
a769ec47d9 qcacld-3.0: Replace log API in son_api.c with son module API
Replace qdf_* log API with son_* log API in son_api.c.

Change-Id: I9336f35581d9a1134ec4d4789788ebf435121320
CRs-Fixed: 3051540
2022-03-25 13:15:44 -07:00
chunquan
ae8134b2ce qcacld-3.0: Clean up probe req after HB failed code
Since HB failed logic change to send deauth, we don't
need probe logic after HB failed. Clean up timer and
unnecessary code.

Change-Id: I26d9235c157065a21469b01abf31751825a1f277
CRs-Fixed: 3158364
2022-03-25 08:33:17 -07:00
Jianmin Zhu
255d161802 qcacld-3.0: Revert "Reconfig ITO when enter WoW for runtime pm"
Avoid sending any new WMI command during RTPM WoW sequence.

Change-Id: I4313257cbf8f83e79a74970cdff5a91d9c1eebb0
CRs-Fixed: 3157005
2022-03-24 18:16:11 -07:00
Jianmin Zhu
89d99afd4c qcacld-3.0: Revert "Fix assert for wmi cmd for invalid vdev"
Avoid sending any new WMI command during RTPM WoW sequence.

Change-Id: I78554358c2f225a9ead0dd347174b1a3189300f3
CRs-Fixed: 3157005
2022-03-24 18:16:05 -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
Subrat Dash
19619ce40b qcacld-3.0: Send L2UF frame to update bridge forwarding table
Generate a Level 2 update frame and send it to the bridge in SAP
mode when a new station connects.

It will update the forwarding table of all the bridge devices
through source port learning.

Change-Id: Ia804968453c051e4c8322d3735506a912c0d963d
CRs-Fixed: 2997409
2022-03-24 05:29:43 -07:00
Subrat Dash
19e3d0b415 qcacld-3.0: Add support for WDS repeater feature
Enable source port learning for SAP to add AST entry for the
remote stations with next hop. The SAP should use 4-address
frame format for the remote destinations.

Add support to handle data packets for WDS destination.

Change-Id: I6002e6dd9c9bb2c7b2e4f85bf06156dbb7feebee
CRs-Fixed: 2997812
2022-03-24 01:44:27 -07:00
Ashish
f853df3d5b Revert "qcacld-3.0: Fix arp offload not sent when suspend"
This reverts commit I06ea617df49287ee87e7b5bf8b20971b581dedf1

which introduced a fix to enable/disable arp offload on every
suspend/resume even if gActiveModeOffload is enabled, which is
not correct. The expectation here is that if gActiveModeOffload
is enabled, host should enable arp offload only onece and it
should not disable on any condition.

Change-Id: Ifc4ff1c0a39cc4c17e9a292ef8b0ebabd766a710
CRs-Fixed: 3147896
2022-03-23 11:06:21 -07:00
anikkuma
05c26a216a qcacld-3.0: Add support for getting AP capabilities
Add support for sending the AP capabilities to SON module

Change-Id: I9308608e321aa21f6e0566958508ceaf78c5635b
CRs-Fixed: 3154537
2022-03-23 07:43:38 -07:00
Chaoli Zhou
c2fe56b756 qcacld-3.0: Support send BTM-REQ on SAP mode from driver
Filter out the BSS Transition Management Request frame
and allow it to be sent out from driver to firmware.

Change-Id: I6672c55421b0aa5cf186c82bec977848fdaddc2b
CRs-Fixed: 3154042
2022-03-22 23:25:25 -07:00
Vulupala Shashank Reddy
5acf8c3e2a qcacld-3.0: Reduce the log level to optimize roam time
Reduce the log level for the frequent acceptable errors
to reduce the roam latencies.

Change-Id: I9f5405025948d160e6fcd65ecca05dce7670ea84
CRs-Fixed: 3150439
2022-03-22 17:00:32 -07:00
Arun Kumar Khandavalli
2fa9d87942 qcacld-3.0: Configure the mld address wow pattern during vdev create
Currently mac address is getting configured as the wow pattern
while the vdev is getting created, configure the mld address also
during the vdev creation so during legacy connection or roaming
between the ml-legacy vice versa there wont be packet drops because
of pattern mismatch.

Change-Id: I9b98649bca132a6665f2e4dd94d9c6b840223827
CRs-Fixed: 3124115
2022-03-22 10:43:52 -07:00
Utkarsh Bhatnagar
fea133e371 qcacld-3.0: Move MLO STA concurreny handling to Policy Mgr
Move MLO STA-SAP concurreny handling to Policy Mgr which
is present in CSR currently.
Also, Move MLO STA-STA concurreny handling to Policy Mgr
which was part of If Mgr currently.

Change-Id: I2b8de17c3d31b43ff1f6b81a7de07b88888d7fb5
CRs-Fixed: 3153393
2022-03-21 17:05:03 -07:00
David Oladunjoye
c9287e836d qcacld-3.0: TWT Logging Debug Enhancement
Peer MAC address is not specified when get_peer_by_mac fails.
We should print the peer MAC address with  debug message.

Change-Id: I9d75098784879ddecd447f8dbbcd61e6cdc1bf76
CRs-Fixed: 3153776
2022-03-21 13:08:30 -07:00
chunquan
8f4ed84d9d qcacld-3.0: Replace blacklist abbreviation bl for dl
Replace blacklist abbreviation bl for denylist dl.

Change-Id: Ibbefba66f27cde8711c8c171f821cf668ba350ba
CRs-Fixed: 3153291
2022-03-21 03:16:52 -07:00
VIJAY RAJ
ebe3c21573 qcacld-3.0: Enable full scan logging in cm_roam_scan_info_event
In the api cm_roam_scan_info_event(), only for partial
roam scan the frequencies are logged in logcat. For full scan,
the expectation is to print the frequency count as the number
of characters for scanning all frequencies exceed 255.

Enable Roam full scan logging in api cm_roam_scan_info_event()

Change-Id: Ib644a4e8d85e434e8b826c7656cda1251134c4fa
CRs-Fixed: 3131791
2022-03-20 07:24:25 -07:00
CNSS_WLAN Service
7e61f523c5 Merge changes I75556848,Ib1695962,If033fdb2 into wlan-cld3.driver.lnx.2.0
* changes:
  Release 5.2.1.14G
  qcacld-3.0: Send BMISS disconnection event after roam result event
  Release 5.2.1.14F
2022-03-18 07:50:46 -07:00
Pragaspathi Thilagaraj
54fee51319 qcacld-3.0: Send BMISS disconnection event after roam result event
Currently the beacon miss disconnection is sent when host
wlan driver triggers disconnect and roam result is printed
after the roam stats event is received. Since roam
stats event is received after host triggers disconnect,
the order of prints is BMISS_DISCONN -> ROAM SCAN ->
ROAM_SCAN_DONE-> ROAM_RESULT.

But the expected order is ROAM_SCAN->ROAM_SCAN_DONE->ROAM_RESULT
->BMISS_DISCONN.
So send beacon miss disconnection event after roam result.

Change-Id: Ib1695962bc1613fa4101cebf28b188db42fb5ab5
CRs-Fixed: 3152370
2022-03-17 11:18:48 -07:00
Jianmin Zhu
24bfb9a343 qcacld-3.0: Fix assert for wmi cmd for invalid vdev
During vdev creating, RTPM suspend/resume may happen, after vdev
created in host, if ITO config wmi cmd is sent to firmware
before vdev create wmi cmd, firmware will assert for invalid
vdev.

To fix it, only config ITO when vdev is up.

Change-Id: I3d744d7fffd9afc7780d3a19c92613a94556cfa0
CRs-Fixed: 3152034
2022-03-16 22:01:28 -07:00
abhinav kumar
4e2cc50408 qcacld-3.0: Send kernel time to userspace
Send kernel timestamp to userspace via a
new vendor attribute
QCA_WLAN_VENDOR_ATTR_DIAG_KERNEL_TIMESTAMP.

Change-Id: I085a1f140b5036895249723f6a5b34b18d9aa574
CRs-Fixed: 3146742
2022-03-16 19:33:46 -07:00
Bing Sun
ebd3d8258e qcacld-3.0: Fix build error for SON module
Fix some build errors for SON module when SON Macro is enabled

Change-Id: I2d7336e551870e91024a259698c740319dd1b639
CRs-Fixed: 3150082
2022-03-15 22:09:17 -07:00
chunquan
abefa5a8b4 qcacld-3.0: Rename folder of blacklist_mgr
Rename folder of blacklist_mgr.

Change-Id: I426d1150d91a8fc97fc483836c954b742e8c8211
CRs-Fixed: 3102372
2022-03-15 20:43:56 -07:00
Ashish
ba7faf192a qcacld-3.0: Return EBUSY instead of EAGAIN from __dsc_vdev_can_trans
Currently driver returns EAGAIN as error code if vdev transition is
not possible, driver is not able to process this vdev transition
because some other PSOC/PDEV transition is going on.
On receiving EAGAIN error code userspace retries the same operation
immediately which again leads to failure as existing transition is
still in progress.

In current scenario, for STA+P2P case, if station is connected to
some ap and for p2p if DUT becomes p2p go, now if SSR is triggered,
host driver gets interface down for sta for change mac address as
station gets disconnected as part of SSR and this interface down
is cached as SSR is in progress. Once reinit gets complete, driver
processes this cached interface down as part of SSR and in this
process driver gets the change interface for p2p go, which it
rejects the error code as EAGAIN from __dsc_vdev_can_trans as
SSR is going on and change interface fails to get dsc op.
When user space gets EAGAIN as error code it immediately tries
the change interface again which driver again rejects as SSR is
still in progress. Also, on receiving EAGAIN error code, userspace
retries the change iface operation only once.

To address above issue, return error code as EBUSY, on receiving
EBUSY as erorr code, user space addds some wait before invoking
the same operation again and also it tries this operation 10 times
if it gets EBUSY as error code, this gives sufficient time to
complete the ongoing transition at driver.

Change-Id: I96ec94432e7624546363cda190abfc9970ab1eb9
CRs-Fixed: 3126558
2022-03-15 20:43:51 -07:00
Pragaspathi Thilagaraj
c5e40fc31a qcacld-3.0: Make PASN events as wakeable
PASN peer create request event and deauth events need
host actions and notifying the userspace.

So register for PASN events to wake up host.

Change-Id: Ic83f10984d4e4d5ee0f1e8a5d7c4fbc321395a26
CRs-Fixed: 3150120
2022-03-15 20:43:47 -07:00
Deeksha Gupta
620ca069f1 qcacld-3.0: Add support for allowed_authmode
Currently, STA doesn't support roam between WPA2 to WPA3
security or vice versa. To support this feature, host sends
list of allowed_authmode. So that Firmware will check and
roam on those authmode.

Fix, add support for allowed_authmode list in ap_profile.

Change-Id: I438a133a434ea12ec34680997ace358fd4910028
CRs-Fixed: 3113219
2022-03-15 19:16:43 -07:00
Sachin Ahuja
b7dae4ffb4 qcacld-3.0: Check Thermal throttle service caps for get temp
Currently when get temperature is queried, both
gThermalMitigationEnable ini and WMI_SERVICE_THERM_THROT service caps are
checked in the driver.
gThermalMitigationEnable ini means the thermal throttling will be done
by driver if enabled and will be done by FW if disabled.

So, set this ini as 0 by default in the driver as thermal throttling
is done by FW and check only WMI_SERVICE_THERM_THROT service while
get temperature is queried.

CRs-Fixed: 3139693
Change-Id: I28e2b6cfca6ea7bf60d81045ba267e019143f3a8
2022-03-15 12:15:03 -07:00
Jinwei Chen
54eeef2926 qcacld-3.0: Use policy_mgr_find_if_hwlist_has_dbs as DP DBS check
Current policy_mgr_is_hw_dbs_capable() will check both DBS HW mode
and WMI_SERVICE_DUAL_BAND_SIMULTANEOUS_SUPPORT service bit, while
DP expect to check HW mode only.

Use policy_mgr_find_if_hwlist_has_dbs() for DP DBS check.

Change-Id: I9e69e5754ef4ea522f50e2e27380e5b5d08532b3
CRs-Fixed: 3140385
2022-03-14 22:31:05 -07:00
Deeksha Gupta
5a5a3deb12 qcacld-3.0: Add support for security scoring
Add support for security score. On the basis of score,
host will select AP for initial connection and roaming.

Change-Id: I041a1b0c1456d7f01dd07e9b282996c56755655e
CRs-Fixed: 3113213
2022-03-14 10:10:56 -07:00
chunquan
03c551de67 qcacld-3.0: Rename files with blacklist/whitelist
Rename files with blacklist/whitelist to denylist/whitelist.
Rename files with blm to dlm.

Change-Id: Ief7ce0a797f74460c9708f8d2dd440412af5b7eb
CRs-Fixed: 3099864
2022-03-14 08:50:05 -07:00
Deeksha Gupta
777ebf8d3a qcacld-3.0: Handle status code for TWT Notify event
Handle status code for TWT Notify event

Change-Id: Icc802a19eaac3ccd92dc6447ed0f797ea43ff454
CRs-Fixed: 3138650
2022-03-14 07:28:18 -07:00
Madhvapathi Sriram
79e13b55ab qcacld-3.0: User MCC quota setting
Set the MCC quota for a given interface.

Change-Id: I313cdf1673f8fc5f50a049d429c0d88fd213e66f
CRs-Fixed: 3106146
2022-03-14 00:43:35 -07:00
Pragaspathi Thilagaraj
4648e9fece qcacld-3.0: Fix ROAM/NO_ROAM print conditions
As part of the Roam candidate result logging, the
driver prints ROAM if reassociation is successful and
NO_ROAM if candidate is found and roaming is successful.
But the expectation is to print ROAM even if candidate
is found and roaming has failed.

Change the logic to print ROAM/NO_ROAM based on below condition:
1. Roam result successful -> ROAM
2. Roam result failure && candidate is found -> ROAM
3. ROam result failure && candidate is not found -> NO_ROAM

Fix the authentication/association missing frame print
in the roam logging, also cleanup the unused API's.

Change-Id: I43e0cea007890f4796b421b0a42cc71b8ca1a600
CRs-Fixed: 3146630
2022-03-11 09:16:12 -08:00
Pragaspathi Thilagaraj
f1dd1a7be4 qcacld-3.0: Fix BTM response ordering in connectivity logs
Currently for WTC BTM roam trigger, below order is followed:
[22:22:51.127105][BTM] RESP token=1 status=1 delay=0 [vdev_id=0
fw_time=00:53:58.350672]
[22:22:51.127129][BTM] WTC reason_code=6 [vdev_id=0
fw_time=00:53:58.350672]

But expected order is:
[22:22:51.127129][BTM] WTC reason_code=6 [vdev_id=0
fw_time=00:53:58.350672]
[22:22:51.127105][BTM] RESP token=1 status=1 delay=0 [vdev_id=0
fw_time=00:53:58.350672]

Fix this order issue and also ignore the BTM response TLV if
timestamp is 0.

Change-Id: I21fe268a3e3ea065482c1c2938d03b844cd387ea
CRs-Fixed: 3143297
2022-03-10 19:23:52 -08:00
Jianmin Zhu
d813137bb6 qcacld-3.0: Reconfig ITO when enter WoW for runtime pm
Some rogue AP sends beacon frames with TIM bit set for long time,
DUT STA need response a qos null frame, if ITO(inactive timeout) is 200ms,
STA can't get a chance go to sleep for long time during WoW, assert will
happen at last.
To fix it, for both system suspend and runtime suspend/resume, config
ITO to short value(50ms) when trigger FW to enter WoW mode, and config
ITO to default value(200ms) after exiting WoW mode.

Change-Id: I8f84afaf2ba030bbb9acf5c7ea78de583c634424
CRs-Fixed: 3146685
2022-03-09 08:04:08 -08:00
Amruta Kulkarni
6b446b0074 qcacld-3.0: Add checks in mlo api's
- Pass appropriate length size in lim_send_mlo_caps_ie().
- Initialize ml ie reserved bits to 0.
- Add null check in mlo_cm_roam_sync_cb() and
lim_mlo_roam_delete_link_peer().

Change-Id: I70abcca14f29b4a417ae8ca3dda840bbef0de6a0
CRs-Fixed: 3126553
2022-03-08 23:59:10 -08:00
Pragaspathi Thilagaraj
0ca74f6926 qcacld-3.0: Fix cu load/current rssi/rssi threshold invalid values
Driver fetches CU load/current rssi/rssi threshold values from
wmi_roam_trigger_reason TLV.
But the values are applicable only for below roam triggers:
wmi_roam_trigger_reason->cu_load : BSS LOAD trigger
wmi_roam_trigger_reason->current_ap_rssi: Low RSSI trigger/
Periodic scan
wmi_roam_trigger_reason->rssi_threshold: Low Rssi/Periodic
scan trigger

So based on agreement with target, use the values from
wmi_roam_ap_info TLV of the current connected AP
irrespective of the roam trigger.

Change-Id: Iaf204198778c1912f77a625154dd63756b1d23e5
CRs-Fixed: 3128803
2022-03-08 05:37:35 -08:00
nakul kachhwaha
12c10fe176 qcacld-3.0: Add config to ease scan/connection restriction in 6Ghz
Add new config to ease scan and connection restriction
in 6GHz band when bss is advertising different country.

Change-Id: I13bd0dbd52fad297b995add8fc8a71d7a058c25b
CRs-Fixed: 3135152
2022-03-08 01:19:44 -08:00
Rachit Kankane
95c7d2ecf8 qcacld-3.0: Add peer ops support for SON
Add support for below SON peer ops:

PEER_SET_KICKOUT
PEER_SET_EXT_STATS
PEER_REQ_INST_STAT
PEER_GET_MAX_MCS

Change-Id: Iafadd17d6a13cfbba2884e50a0432c34115cd7f7
CRs-Fixed: 3141862
2022-03-07 19:07:52 -08:00
Paul Zhang
4d070df568 qcacld-3.0: shrink SAP bw to 20M for unsafe
SAP sets up on 5180/20Mhz, freq 5180 becomes unsafe, channel
switch from 5180/20Mhz to 5200/20Mhz. Then STA connects to
5180, channel switch from 5200/20Mhz to 5180/80Mhz because of
CONCURRENT_STA_CHANGED_CHANNEL. Then STA is disconnect and
causes channel witch from 5180/80Mhz to 5200/80Mhz. This overlaps
the unsafe channel.

To resovle this issue, check the unsafe channels when csa reason
is unsafe channel.

Change-Id: I476d3a0b998e3bdceda6e388329158a7ec95c63b
CRs-Fixed: 3136637
2022-03-07 03:43:45 -08:00
Liangwei Dong
a92b03d325 qcacld-3.0: Check vdev and sync_ind ptr before access
Add NULL check for vdev in hdd_stop_sap_set_tx_power and
sync_ind NULL check in cm_roam_sync_event_handler.

Change-Id: I1a760cdd17975403f48b75459ecb5ea9ac3e9d77
CRs-Fixed: 3144140
2022-03-07 02:16:32 -08:00
Liangwei Dong
aa47f00d7f qcacld-3.0: Fix 3rd SAP failed to avoid LTE unsafe channel
wlan0 on 5180, wlan2 on 5180, wlan1 on 2462. wlan1 conf file
has ACS “freqlist=2457-2472,5180-5945”.
When LTE unsafe event comes, it marks 2457, 2462, 5180 unsafe,
wlan0 changes channel to 5200. wlan1 has no available 2G channels.
It selects 5G channel 5200. But 5G has two vdevs already, then
Concurrency check failed - drv doesn’t support 3 home channel.
wlan1 keep active on 2457, but driver doesn't continue to check
wlan2's channel and do CSA to safe channel.
Fix by checking the wlan1's CSA status and if status is failure
then do unsafe channel check for 3rd wlan2.

Change-Id: I28e9397436780cf47e57a47482b729a42fb728f0
CRs-Fixed: 3136773
2022-03-06 21:28:13 -08:00
abhinav kumar
bbfffd169c qcacld-3.0: Handle HI-RSSI scan trigger in 2Ghz connection
The issue is: If STA is connected to a 2.4Gh AP with such a
high RSSI (say around -30dBm) then STA immediately triggers
a high RSSI roam scan.

As per the current design, when connected AP's RSSI is better
than the (gNeighborLookupThreshold - gRoamScanHiRssiDelta),
STA should not trigger HI-RSSI roam scan.

Here default value of INI "gNeighborLookupThreshold" is 78 and
default value of INI: "gRoamScanHiRssiDelta" is 10.

Fix is to allow HI-RSSI roam trigger only if AP RSSI is worse
than gNeighborLookupThreshold - gRoamScanHiRssiDelta.

Change-Id: I7a0d2302a71656b5238bfeea8c2a6ebcd3716ab9
CRs-Fixed: 3128235
2022-03-06 05:04:39 -08:00
chunquan
f07969a044 qcacld-3.0: Replace blacklist/whitelist for denylist/allowlist
Replace blacklist/whitelist with denylist/allowlist in
qcacld3.0. and replace blm with dlm.

Change-Id: I9ba61dde3b3ea008ca3777448d1f8dab83d33ec1
CRs-Fixed: 3091211
2022-03-05 07:10:49 -08:00
Srinivas Dasari
795af8a246 qcacld-3.0: Fetch MLO disconnecting vdev from RSO stop rsp ctx
Host maintains RSO state machine only for assoc vdev as it's
good enough to have only one state machine. Thus host sends RSO
stop request to firmware on assoc vdev though actual disconnect
started on link vdev. Firmware also sends response on the
same vdev. But disconnect has to be resumed for link vdev as
it's paused and waiting for RSO stop response. So, fetch link
vdev from assoc vdev and continue disconnect.

Change-Id: Ib2bc2610a03ba94408d6241d48756872c5ee2ad6
CRs-Fixed: 3135907
2022-03-04 21:05:28 -08:00