Commit Graph

1914 Commitit

Tekijä SHA1 Viesti Päivämäärä
Gururaj Pandurangi
98f9fe57f4 qcacld-3.0: Reduce log level of certain error logs
Reduce log level of a few error logs to reduce
excessive logging.

Change-Id: I3e93d033bc29a7dfee5c5ef18d52cded54fc1cbb
CRs-Fixed: 3035970
2021-09-17 16:53:25 -07:00
Pragaspathi Thilagaraj
c575e2a228 qcacld-3.0: Enhance the dequeue logic to limit logs per second
Restrict the dequeue logic to send only 20 logs per second
to userspace. Add check to see if queue is empty before
trying to dequeue.

Change-Id: I778556c649d123718cf76c943c5b2ed7f6c6e8e5
CRs-Fixed: 3014554
2021-09-17 13:47:52 -07:00
Pragaspathi Thilagaraj
612fe2eca2 qcacld-3.0: Add infrastructure for connect/roam logging
Add new files for connect/roam logging. Add changes to
initialize the logging buffer.
Make changes to support enqueue/dequeue log.
Define enums for MAIN_TAG, Sub TAG, category.
Add structure definitions for logging buffer.

Change-Id: I1d283fcf464da90d4f5533214d480ddda156ec27
CRs-Fixed: 3013486
2021-09-17 13:47:47 -07:00
Vulupala Shashank Reddy
d593e54614 qcacld-3.0: Do not fill average rssi for RX packets
Currently average rssi is filled in rx packets as rssi not
available in rx tlv, but now ucode is providing rssi value
in rx tlv so do not fill average rssi as rssi is already
filled from rx tlv in packet capture component.

Change-Id: I67e5e4cf6f0eade0640012802d79fe92b87de001
CRs-Fixed: 3022166
2021-09-17 08:45:10 -07:00
Jyoti Kumari
6387e91bc8 qcacld-3.0: Don't allow GO/GC+GO/GC+STA on the same band
Add support to allow/disallow three port combinations on
same band based on PCL table

Change-Id: Id2e9ad7d17bab6ea0aff6913b25f0eb330dc6c13
CRs-Fixed: 3028527
2021-09-17 03:40:47 -07:00
sheenam monga
265f8960fa qcacld-3.0: Enhance g_enable_go_force_scc for liberal mode
INI g_enable_go_force_scc states the force MCC to SCC mode.
Mode 1-strict: Implement force scc strictly as part of start bss
Mode 2-liberal: Turn on p2p go on provided channel and move
first p2p go to the new p2p go channel after set key.

Currently for p2p-GO forceSCC, support is present where no matter
what is the GO negotiated channel in start_bss, driver will force
the other GO/STA/GC channel (on the same band) to the current GO
channel. This is force SCC strict mode where value 1 is used for
g_enable_go_force_scc ini. In this mode GC will have to do full
scan as the GO channel may be different from actual negotiated
channel. DUT may see some issues if GC dosent do full scan in
this mode.

As part of this change, add support for value 2(Liberal mode)
in g_enable_go_force_scc ini. As part of this liberal mode,
driver will allow the GO to start in MCC mode and after set key,
it will check any other concurrent GO and will do forceSCC for
that GO to the newly formed GO channel.

Change-Id: Ifc7beb06335616c51dc064f48a78b825dbdbda25
CRs-Fixed: 2992098
2021-09-17 01:18:27 -07:00
sheenam monga
c339ab4ddf qcacld-3.0: Check Fw capability to support p2p + p2p concurrency
Check fw capability to support p2p + p2p concurrency from
soc_fw_ext_caps and based on fw capability, set policy
mgr concurrency for p2p + p2p.

Change-Id: Ia32f81f37174e9d722911b1fae6d4897d0af9816
CRs-Fixed: 2991300
2021-09-17 01:18:20 -07:00
Jyoti Kumari
24cc88ae75 qcacld-3.0: Argument mismatch in sta_ap work queue
From the caller, the args comes as pm_ctx but in definition
it's assigned as work_info which causes crash.

Change-Id: I9928a2c3862407b02cb34356ad54895e1d3069c7
CRs-Fixed: 3035090
2021-09-17 01:18:14 -07:00
Yu Wang
8414ad919b qcacld-3.0: add support for hw mode selection offload
If flag WMI_SERVICE_HW_MODE_POLICY_OFFLOAD_SUPPORT is
advertised in service capability, host should not set
HW mode explicitly, firmware takes control of managing
HW mode.

Change-Id: I10a8ad5201db375cc21255661b7cf46b9dd6e05f
CRs-Fixed: 3017062
2021-09-15 10:49:51 -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
Liangwei Dong
39e516f7d2 qcacld-3.0: Fix HT IE missing in Beacons when WPA/WPA2 Mixed mode
According to 11n CERT case - 4.2.44 AP WAP/WPA2 mixed security mode
test, AP works in HT mode, but driver disallow the 11n when TKIP
cipher present and switch to "A" mode, then no HT IE in Beacon.
Fix by check TKIP only cipher and other ciphter present(CCM)
to disable allow 11n.

Change-Id: Ia915c9aa45bef93a22b5f43004e533cc87978752
CRs-Fixed: 3033301
2021-09-14 16:51:56 -07:00
abhinav kumar
ef572ecce3 qcacld-3.0: Mem leak in wlan_cm_dual_sta_roam_update_connect_channels
Fix possible memory leak while updating dual sta connect channel list
in wlan_cm_dual_sta_roam_update_connect_channels.

Change-Id: I39dc05e485a0f00189978a38fa927a6ec4bd0086
CRs-Fixed: 3035192
2021-09-13 17:03:03 -07:00
abhinav kumar
2041221268 qcacld-3.0: Print allowed channels for the 2nd STA vdev conn
Print channel list which is allowed for connection for the
second STA when dual sta roaming in is enabled in
wlan_cm_dual_sta_roam_update_connect_channels to enhance
debug log.

Change-Id: I4e16f101b60dc9d34d6193adcfe72ec173c5467a
CRs-Fixed: 3000235
2021-09-11 00:45:37 -07:00
abhinav kumar
04389c608d qcacld-3.0: Allow roaming between same OWE profile AP's
Currently, firmware can roam between owe security SSID's
even though open SSID is different for both of the AP's.
This commit adds support to restrict roaming between the
same OWE profile AP's which means if the device needs to
roam then target AP's open SSID and owe SSID should match
with current AP.

Change-Id: Ib59127a90cab9ee6626b018d581edbf76ad89856
CRs-Fixed: 3025667
2021-09-10 22:28:38 -07:00
abhinav kumar
3173789d99 qcacld-3.0: Add new BT Coex roam trigger reason
Send additional roam trigger TLV for BTC in
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID
command, to support a new roaming trigger
"WMI_ROAM_TRIGGER_REASON_BTC".

Change-Id: Ib767bd6bcf005c187b0fb58986ad287fe8753c1b
CRs-Fixed: 3009788
2021-09-10 20:09:34 -07:00
abhinav kumar
939ba8556a qcacld-3.0: Add BTC as a new roam trigger reason in host
To support BTC roaming, add a definition of BTC roam trigger
reason in ini roam_triggers. It goes to fw via roam_enable
trigger command (WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID)

Change-Id: I231a72ed98a74fb1b5ced12da7c3932af12d485d
CRs-Fixed: 3009787
2021-09-10 20:09:28 -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
Amruta Kulkarni
b64278b0a5 qcacld-3.0: Limit range of JOIN and ASSOC timeout
In cfg file limit the range of join failure and assoc failure timeout.

Change-Id: I615cc371d3a8fa7fa977c0eab88f4b14df7fbcc6
CRs-Fixed: 3028740
2021-09-08 20:22:01 -07:00
sheenam monga
fec839dd87 qcacld-3.0: Update pcl connecton table for p2p+p2p concurrency
Update pcl table for P2P + P2P concurrency for SCC,MCC and
DBS scenarios.

Change-Id: Ibd76db75c68a568fd60f1fece23e4e7146718628
CRs-Fixed: 2991321
2021-09-08 14:55:18 -07:00
Vulupala Shashank Reddy
4da65b82c1 qcacld-3.0: Update the channel only if AUTH resp is successful
Currently channel is updated whenever AUTH frame is received
irrespective of its status. So in case of unsuccessful AUTH
wrong channel is updated in pkt capture mode.

To fix this issue, update the channel only if AUTH response
is successful. Also if after AUTH success, association or
reassociation fails update the channel with last connected
channel.

Change-Id: I51ee6bb2466f765ce6058c411b0dc0ab74a0dd04
CRs-Fixed: 2987748
2021-09-07 10:42:59 -07:00
sheenam monga
446effff96 qcacld-3.0: Limit ROC for listen to max 600 if GO present
Add fixed 300ms extra ROC time instead of multiplying the
ROC duration by 6 as this causes the ROC to be upto 1.5 secs
if GO is present. Firmware will advertize NOA of 1.5 secs
and if supplicant cancels ROC after 200 or 300ms then
firmware cannot cancel NOA. So when supplicant sends next
ROC it will be delayed as firmware already is running previous
NOA which may cause p2p find issues if GO is present.

Fix this by capping the max ROC time to 600ms when GO is present.

Change-Id: I0774b06ff4db1fae7efc387388fdf3059505150e
CRs-Fixed: 3025870
2021-09-07 10:42:41 -07:00
Vulupala Shashank Reddy
9a9225232b qcacld-3.0: Unsubscribe in reverse order of subscription
Ideally we should deinit in reverse order of init so we
should Unsubscribe in reverse order of subscription in
packet capture component.

Change-Id: Icb62a14c2d1fd20073f6924d03d523b7871c62d6
CRs-Fixed: 3019862
2021-09-07 07:58:49 -07:00
Surabhi Vishnoi
d24b3c4526 qcacld-3.0: Fill the nss in tx status in pkt capture mode
Currently, nss is not filled for tx data packets. Fill the
last received nss from ppdu stats in the tx status in pkt
capture mode.

Change-Id: I1833be5e19eaba4e88befe9970f079b91ec4bbe4
CRs-Fixed: 3004484
2021-09-06 00:54:49 -07:00
Surabhi Vishnoi
e850d08b1f qcacld-3.0: Fill the ppdu stats in tx status in pkt capture mode
Ppdu stats related to transmitted msdu are received from
firmware and queued to a list. Remove the received ppdu stats
from front of list and fill in tx status of current msdu.

Change-Id: I764aa909497971010202ce3decb3380a732ce12c
CRs-Fixed: 3004483
2021-09-06 00:54:44 -07:00
Surabhi Vishnoi
98bf0f00c3 qcacld-3.0: Register for wdi event WDI_PKT_CAPTURE_PPDU_STATS
WDI_PKT_CAPTURE_PPDU_STATS event is sent when packet capture
related htt ppdu stats tlv is received from firmware.
Register for WDI_PKT_CAPTURE_PPDU_STATS wdi event and add
logic to insert received ppdu stats to a list.

Change-Id: Ie78cf4b161c90a0bcf514a3e71a82c3c3e358c24
CRs-Fixed: 3004480
2021-09-06 00:54:39 -07:00
Surabhi Vishnoi
2bef5e1a61 qcacld-3.0: Register for WDI_EVENT_PKT_CAPTURE_RX_DATA_NO_PEER
Register for WDI_EVENT_PKT_CAPTURE_RX_DATA_NO_PEER in packet
capture mode and add logic to parse it. This wdi event
delivers rx data packets to packet capture component which are
received before peer is mapped in host, mostly in roaming scenario.

Change-Id: Ia718293c97dd11de6aab5a739683eec38e7e057b
CRs-Fixed: 3000153
2021-09-06 00:54:35 -07:00
Liangwei Dong
e059b9f5ec qcacld-3.0: Abort MLME connect timers upon NB disconnect request
When the connect request is pending on MLME and NB disconnect comes,
driver will wait for previous connect finish to process the disconnect
request. This delay the disconnect and may cause framework ANR.
Add code to fire the timeout event of active timers in various MLME
state. This will abort the connect request and get disconnect done fast.

Change-Id: I19cc03108c966c8f1efc0a554dfc59123dfe37f1
CRs-Fixed: 3026311
2021-09-03 08:45:01 -07:00
Srinivas Dasari
9a4a9a493e qcacld-3.0: Send psoc also in roam events to target_if
target_if expects psoc as part of roam events which is used for
event extraction. Send the same as it's missing currently.

Change-Id: I04729df90d8e64e07427fe47926a8a92a24aaf23
CRs-Fixed: 3027055
2021-09-03 05:50:36 -07:00
Deeksha Gupta
3ecfc16c77 qcacld-3.0: Release the peer reference in twt_get_status
In ucfg_twt_get_all_peer_session_params peer reference is
acquired and its not released leading to the reference leak,
leading to vdev destroy timeout.

Release the peer reference to resolve the issue.

Change-Id: I9992376473c30365f15fcdb8e374c856bc169d6b
CRs-Fixed: 3027189
2021-09-02 21:43:52 -07:00
Liangwei Dong
04e62b143e qcacld-3.0: Unit test update for policy mgr pcl validation
Update unit test command for policy mgr pcl validation to
support new SBS PCL type.

Change-Id: Ib02ce6c69400d0f47307523d690e1d81a8c0ef83
CRs-Fixed: 2998526
2021-09-01 14:02:32 -07:00
Pragaspathi Thilagaraj
100c310363 qcacld-3.0: Set PS config per vdev
Currently the PS config received from kernel/userspace is set
to mac_ctx globally. This causes PS config set for one vdev to
override on the other vdev.

To avoid this, set the PS config per vdev.

Change-Id: I6a2e2a9d8fb67b94d9d5f1d4164077990bdaf4a5
CRs-Fixed: 3007060
2021-09-01 14:02:27 -07:00
Liangwei Dong
a2941c56d9 qcacld-3.0: dump pcl type name and ch list
Dump PCL type name and channel list.
Remove duplicated dump ch list.

Change-Id: I78e95e6628bcf771a5880221ee5a5aa1dc709dae
CRs-Fixed: 2998522
2021-09-01 11:45:35 -07:00
Liangwei Dong
8a532f4033 qcacld-3.0: Enable DBS-SBS 2x2 table
Enable new dbs-sbs-2x2 PCL table for new DBS-SBS hw.

Change-Id: Ia30f07d96de981738527c4cbc043cf8958f6f9c2
CRs-Fixed: 2998506
2021-09-01 11:45:28 -07:00
Liangwei Dong
cd67d587b9 qcacld-3.0: populate channel list of new pcl type for DBS-SBS
To support DBS-SBS hw mode, populate SBS/SCC/MCC/DBS channel
list for new PCL types.

Change-Id: I5b6bae3daeae0be879d60dc5183574fe63f6a0c9
CRs-Fixed: 2998497
2021-09-01 11:45:22 -07:00
Pragaspathi Thilagaraj
cf2423e163 qcacld-3.0: Disable PER roam for phymode less than 11NA_HT20
The PER default low rate thresholds configured is 20Mbps. This
will cause PER roam scan always after the 25 secs PER monitor
window since the 11b rates are lower than 20Mbps.

So disable PER roam when the connection/roaming to peer is with
cckm/OFDM rates to avoid frequent roam scans.

Change-Id: Iaae469804547c0f0682b66de3609b5cda4b4b577
CRs-Fixed: 2984973
2021-09-01 11:45:15 -07:00
Aditya Kodukula
4d93a28a54 qcacld-3.0: Add a new ini item gEnableIcmpOffload
Add new ini item gEnableIcmpOffload to enable/disable
ICMP offload to firmware.

Change-Id: I107aeec4c75ae18fbe37d373e48339a5b76797aa
CRs-Fixed: 3025650
2021-08-31 22:23:37 -07:00
abhinav kumar
5a8305cdd5 qcacld-3.0: Send roam band value to userspace
OEM-SS sends ROAMBAND attribute via the vendor command
QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET to host to
get current roam band value in the host.

Fix is to process ROAMBAND attribute and send roam band
value to upper layer.

Change-Id: I56b208d00b40d4d3e6d3658d23fa1073f6fe1146
CRs-Fixed: 3009753
2021-08-31 17:03:09 -07:00
abhinav kumar
8d3a1d9e82 qcacld-3.0: Filter roam scan channel list as per roam band
Filter roam scan channel list or frequency list as per the
band received from upper layer via attribute
QCA_WLAN_VENDOR_ATTR_SETBAND_MASK and
QCA_WLAN_VENDOR_ATTR_ROAMBAND_MASK.

Change-Id: I4820bfc487949d8445f215a4779dd671925d001f
CRs-Fixed: 3009758
2021-08-31 17:03:03 -07:00
abhinav kumar
5823512803 qcacld-3.0: Set PCL List as per roam band to fw for connected STA
Whenever host Receives vendor command for SETROAMBAND, Host should
set PCL list as per roam band to fw so that FW can use updated pcl
list for further roaming.

Change-Id: I2f48833801b75f25aaf37ea479867b19477ceecb
CRs-Fixed: 3009751
2021-08-31 14:44:31 -07:00
abhinav kumar
0697018d60 qcacld-3.0: Process the BAND_MASK attribute
Process the BAND_MASK attribute which comes to the
host via the QCA_WLAN_VENDOR_ROAMING_SUBCMD_CONTROL_SET
vendor command. Save the value of this band mask into
the RSO configuration structure.

Change-Id: I57ecc10912a38207ef478b38cf3add3c584dd2f4
CRs-Fixed: 3009749
2021-08-31 14:44:25 -07:00
Bing Sun
7f0fb64100 qcacld-3.0: Fix issue when getting rnr
When getting rnr IE information, instead of getting rnr pointer through
input parameter,  we can just return rnr pointer.

Change-Id: I7215451d34164d40d6404d0a426f1cc30a143e15
CRs-Fixed: 3025191
2021-08-31 12:23:13 -07:00
Liangwei Dong
c5da5facf2 qcacld-3.0: Revert "clear pmkid cache when ap off"
This change removes the "delete pmksa on BMISS" logic in commit
I5d8ec9e9d4f8a44178b113d370799fe2bc0373fb.
Will handle the issue in new commit by OUI checking of AP.

Change-Id: I871999f8c473afdc75b774210044fc059fcd07b0
CRs-Fixed: 3021068
2021-08-31 12:23:08 -07:00
Liangwei Dong
e45a8446a5 qcacld-3.0: Add DBS-SBS PCL table
DBS-SBS table will support 2G+5/6G DBS mode
and 2/5G+5/6G SBS mode.

Change-Id: Ia8c2a69caed771fa66a148c98ce1234ebb76689d
CRs-Fixed: 2998488
2021-08-31 07:54:34 -07:00
Liangwei Dong
2762576aec qcacld-3.0: Fix KW warning for pcl weight list
Add sanity check for index with NUM_CHANNELS and pcl_sz
when add 2.4G channel list.

Change-Id: I04ac1bcdb6720a4740be7c2f5e08f76b3c34d8c4
CRs-Fixed: 3025000
2021-08-31 05:39:23 -07:00
Yu Wang
f144628933 qcacld-3.0: refine functions for getting preferred channel list
Refine policy manager get PCL channel list APIs to help
add new PCL type.

Change-Id: I1e9d49c5f0a8c2c38f1fb5302615bc956ed6aae0
CRs-Fixed: 2998478
2021-08-29 03:01:18 -07:00
Srinivas Dasari
3aeaeefe07 qcacld-3.0: wma to target_if migration of roam pmkid request evt
Currently, wmi_roam_pmkid_request_event_id data is extracted and
processing is also done in wma. This is not inline with component
model where target_if takes care of data extraction and handover
the extracted data to corresponding component(connection mgr in
this case). Add changes to support the same.

Change-Id: I3fad4e4d7ceeb85c632723e161809bf980d5375f
CRs-Fixed: 3014248
2021-08-28 00:29:22 -07:00
Vijay Patil
23999e417d qcacld-3.0: wma to target_if migration of roam_auth_offload_event
Currently, wmi_roam_auth_offload_event_id data is extracted and
processing is also done in wma. This is not inline with component
model where target_if takes care of data extraction and handover
the extracted data to corresponding component(connection mgr in
this case). Add changes to support the same.

Change-Id: I128db23077d423c5e5ecf27636bc3af35cbbc58f
CRs-Fixed: 3010419
2021-08-28 00:29:16 -07:00
Rajeev Kumar
e59ae1bbe5 qcacld-3.0: Disable SAP/GO D3 WoW features if IPA is enabled
SAP/GO D3 WoW feature is not supported when IPA is enabled and hence
disable SAP/GO D3 WoW features when IPA is enabled.

Change-Id: Ia3da37087a0ca79c81c546f43a0893e46cf08c3c
CRs-Fixed: 3015104
2021-08-27 15:12:30 -07:00
Utkarsh Bhatnagar
ac66479f44 qcacld-3.0: Add support to get thermal throttle stats
Add support for sending WMI_REQUEST_THERMAL_STATS_CMDID
to request for the thermal stats via vendor cmd:
QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_GET_THERMAL_STATS
This vendor cmd can either be used to clear the thermal
stats or to request for the thermal stats.
Added ini gThermalStatsTempOffset, which can
configure thermal temperature offset value for capturing
thermal stats in  thermal range such as Thermal STATS
starts capturing from temperature threshold to temperature
threshold + offset.
If this ini is set to 0, then the events are disabled.
Also, add support for the FW event where the requested
thermal stats are sent in FW event
WMI_THERM_THROT_STATS_EVENTID().
The following attributes are sent in the events for every
level:
	STATS_MIN_TEMPERATURE
	STATS_MAX_TEMPERATURE
	STATS_DWELL_TIME
	STATS_TEMP_LEVEL_COUNTER

Change-Id: If8acdeec5bde33be346332ccaf39d78d0151203d
CRs-Fixed: 3016818
2021-08-27 10:23:21 -07:00
Vulupala Shashank Reddy
843ce5f0eb qcacld-3.0: Remove unused linux header file
Remove unused linux header file in packet capture component.

Change-Id: I668061d0a6516cca51a153e3713e8c0a5634fb64
CRs-Fixed: 3019885
2021-08-27 05:44:36 -07:00