Commit Graph

2248 Commits

Author SHA1 Message Date
Jianmin Zhu
1231d49b76 qcacld-3.0: Fix wlan0 sta PCL not updated after wlan1 disconnect
During sta+sta dbs concurrency,  if vdev1 sta disconnect, vdev0 sta pcl
isn't updated to firmware to include all band.

Change-Id: I986b85644cf17ad917136adc1ea274ae2d8ed795
CRs-Fixed: 3171216
2022-04-12 11:24:18 -07:00
Bing Sun
6df47a0d95 qcacld-3.0: Add API to get max mcs index
Add a new field max_mcs_index in mlme_legacy_priv to save max mcs
index of current vdev.
Add a new field max_real_mcs_idx in hdd_station_info to save max
mcs index of the connected station.

Change-Id: I28908515cbe5c18c79f14f8645defd5c82e3a6f0
CRs-Fixed: 3065838
2022-04-12 06:31:07 -07:00
Ashish
4bc1f3cb67 qcacld-3.0: Update data type of iface name to const for NAN
Currently driver code has data type as char* for NAN related code.
With this change update this data type as const char*.
Also, move NAN related functions under WLAN_FEATURE_NAN feature flag.

Change-ID: I61ad10304be4399a68f32778d01d9a951d7d14bb
CRs-Fixed: 3169168
2022-04-11 19:47:10 -07:00
Ashish
cede71c355 qcacld-3.0: Add/del virtual iface using NL commands for NDP
Currently host driver creates/deletes NDI interfaces using
vendor command. With the kernel 5.12 version onwards,
interface creation/deletion is not allowed using vendor
commands as it leads to deadlock when driver tries to acquire
the RTNL_LOCK at the time of netdev register/unregister.

With this change, add support to Create and delete NDI interface
using NL80211_CMD_NEW_INTERFACE and NL80211_CMD_DEL_INTERFACE
commands respectively if driver advertises
QCA_WLAN_VENDOR_FEATURE_USE_ADD_DEL_VIRTUAL_INTF_FOR_NDI capability.
Since NL80211_CMD_NEW_INTERFACE and NL80211_CMD_DEL_INTERFACE
already comes with the rtnl lock and driver does not need to
take the rtnl lock again which will help to avoid the above issue.

Change-Id: I6d5441a5e883de1222f105f26d73cb0506d16ddf
CRs-Fixed: 3167125
2022-04-11 19:46:27 -07:00
Sai Pavan Akhil Remella
e8b3b4792b qcacld-3.0: Add min_dwell_time_6g ini support in roam offload scan
Currently min_dwell_time_6g ini support is there only for normal
scan.
Added support to configure min_dwell_time_6g in roam offload scan.

Change-Id: I7da5fff738dbaf2a28a909e58ab6c797724ccfaf
CRs-Fixed: 3156597
2022-04-11 04:09:34 -07:00
Qun Zhang
3f80fae5f0 qcacld-3.0: Refine roam event processing for LFR2/LFR3
Currently wmi_roam_event_id event handler only register under feature
WLAN_FEATURE_ROAM_OFFLOAD, but it's needed for LFR2 roaming too. So
refine roam event processing for LFR2/LFR3.

Change-Id: Ic07fd8a543142fc1e151f484979ab99ff55ce802
CRs-Fixed: 3161973
2022-04-09 01:22:20 -07:00
Liangwei Dong
bd1e740bf9 qcacld-3.0: Update PCL type for STA+SAP+P2P
Update PCL type for STA+SAP+P2P 3vif concurrency using
PM_SBS_CH_24G, PM_SCC_ON_5_5G_SCC_ON_24G.

Change-Id: If82f928134e45486114fd6d4a6222e7127d6b9fd
CRs-Fixed: 3168636
2022-04-08 04:28:48 -07:00
Sheenam Monga
0c2d9c3709 qcacld-3.0: Add Handling for new pcl type
Add handling for below pcl types which are added
due to ML STA and 2 P2P connection concurrencies.
PM_SCC_ON_5_5G_24G
PM_SCC_ON_5_5G_SCC_ON_24G
PM_SBS_CH_2G

Change-Id: I62df80c15bcd84ba9cb64cbf6ce2e4d154f6f697
CRs-Fixed: 3167325
2022-04-07 07:25:36 -07:00
Wu Gao
f5149b788a qcacld-3.0: Enable AP+AP+AP SCC on same mac
Enable 3 SAP SCC on same mac to avoid restart third SAP failed after
5/6G disabled.

Change-Id: Ib95a38daeff97a8cb1e2571b0b271ca052f0ce62
CRs-Fixed: 3144224
2022-04-07 07:25:30 -07:00
Sheenam Monga
f6d697ed1b qcacld-3.0: Update pcl connection table for SBS hw
Update pcl connecton table for p2p+p2p concurrency
for SCC, MCC, DBS and SBS scenarios and add below
pcl types
PM_SCC_ON_5_5G_24G
PM_SCC_ON_5_5G_SCC_ON_24G
PM_SBS_CH_2G

Change-Id: I2d90ba39e2d15d927574d8ede5e9890dd37a4908
CRs-Fixed: 3167307
2022-04-07 07:25:23 -07:00
Sheenam Monga
62f33fac92 qcacld-3.0: Update correct len/last index for pcl entries
Currently, for pcl where 2G channels are added pcl index is
updated to total no. of 2G channels only and first 11 entries
are considered in dump from final pcl list.

Fix is to add total no of 2G channels in pcl index instead of
overwriting pcl index with no. of 2G channels.

Change-Id: Ibcd2509ecb052bfde62a47a6dee38dd17c3d1c8f
CRs-Fixed: 3166961
2022-04-07 05:05:47 -07:00
Utkarsh Bhatnagar
fc883a2f9b qcacld-3.0: Optimize logging for Tx frame Path
Optimize logging by decreasing number of log
lines printed for the Tx frame path.

Change-Id: Iff24346a6b20286b68ee18451155495f624da316
CRs-Fixed: 3168409
2022-04-06 23:43:13 -07:00
Will Huang
1135c6caf9 qcacld-3.0: Save disconnected sta chan freq and check when sap restart
If AP1 on 2G unsafe channel (no valid 2g channel so can't move),
STA+AP2 on 5G unsafe channel doing SCC, when STA disconnect, 5G AP2
is expected to restart to another 5G safe channel, but 2G AP1 will
also be selected to restart to another 2g safe channel (not in acs
range), which is not supported to switch to different channel at same
time.

To fix this issue, save last disconnected sta channel frequency in
policy manager context, and find the AP which is doing SCC with this
sta, and restart this SAP to safe channel.
To avoid possible OOB write warning, enlarge the input array buffer
of policy_mgr_get_mode_specific_conn_info().

Change-Id: If6ddd889cc0fd8b00796d42e6aa4d1a98b6b1070
CRs-Fixed: 3145226
2022-04-06 07:06:41 -07:00
nakul kachhwaha
91468b4a79 qcacld-3.0: Add ucfg API to set 6ghz relaxed conn policy flag
Add ucfg API to set 6ghz relaxed connection policy flag.

change-Id: I659bf86c4308691d5adc9f2a4d2ed3c38bbc63f0
CRs-Fixed: 3166847
2022-04-06 03:25:15 -07:00
Jianmin Zhu
54740f84b5 qcacld-3.0: Fix assert when handle wakeup event during SSR
In special case, tasklet(ksoftirqd/0) that handle WMI event was stuck
for 4 sec, SSR was triggered for timeout waiting for resume
event from FW during RTPM resume.

During SSR, cp_stats_tx_ops->inc_wake_lock_stats callback was cleared,
later WOW_WAKEUP_HOST_EVENTID was received, callback was executed, assert
happened.

Change-Id: Ib9ae7d61d1b415e9857657725ffd2ae1efd4795c
CRs-Fixed: 3165730
2022-04-05 15:24:16 -07:00
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