Commit Graph

5767 Commits

Author SHA1 Message Date
Alan Chen
e623051493 qcacld-3.0: Add policy attribute to FETCH_BSS_TRANSITION_STATUS
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.

To satisfy kernel 5.4 requirement add policy to following vendor
command as part of this change:
	QCA_NL80211_VENDOR_SUBCMD_FETCH_BSS_TRANSITION_STATUS

Change-Id: I7c49d959e7c5d232572aae78616b18cee875cbb1
CRs-Fixed: 2632084
2020-03-05 19:42:04 -08:00
Alan Chen
1c570b38f4 qcacld-3.0: Add policy attribute to SUBCMD_NUD_STATS_SET
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.

To satisfy kernel 5.4 requirement add policy to following vendor
command as part of this change:
	QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_SET

Change-Id: I1023872146d398252cd8dbde8431cd8c5e839a31
CRs-Fixed: 2631294
2020-03-05 19:41:44 -08:00
Nisha Menon
c8626b3f18 qcacld-3.0: Remove excessive logging in hdd_rx_deliver_to_stack
Remove the excess error log in hdd_rx_deliver_to_stack. The hdd
rx/tx stats are incremented in caller for success and failed
cases for delivering the skb to network stack. This error log
is redundtant as stats for rx packets refused is incremented
when packets are dropped by the network stack.

Change-Id: I5a774db18966f9b43721278daef936de7524d6f7
CRs-Fixed: 2633475
2020-03-05 12:49:45 -08:00
Rajeev Kumar
dd2a53d62c qcacld-3.0: Add policy attribute to SUBCMD_THERMAL_CMD
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.

To satisfy kernel 5.2 requirement add policy to following vendor
command as part of this change:
	QCA_NL80211_VENDOR_SUBCMD_THERMAL_CMD

Change-Id: Ia5a5e62b3fe086c3fab58d92d12898f525f774b8
CRs-Fixed: 2631242
2020-03-05 00:19:41 -08:00
Srinivas Girigowda
8dfd6ad4c6 qcacld-3.0: Add policy attribute to SUBCMD_ENCRYPTION_TEST
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement, add policy to following vendor
command as part of this change:
	QCA_NL80211_VENDOR_SUBCMD_ENCRYPTION_TEST

Change-Id: I37836165dc8ff89f7179d5024cc3b1516cacf6e6
CRs-Fixed: 2633303
2020-03-04 21:18:44 -08:00
Mohit Khanna
0fe3ebdd3b qcacld-3.0: Add HIF callback API to get BW level
Expose API in HDD, so HIF can callback to get the current bandwidth
level.

Change-Id: If65533a99e5d30ab66c4be20c8eb13b1bd1f033b
CRs-Fixed: 2618015
2020-03-04 21:18:28 -08:00
Mohit Khanna
26c0017421 qcacld-3.0: Enable HAL module in cinfo
Enable QDF_MODULE_ID_HAL in cinfo as a datapath module

Change-Id: I2d10e657db88e00b85a0f2c97c404578f0f909d4
CRs-Fixed: 2618015
2020-03-04 21:18:14 -08:00
Sourav Mohapatra
bfa435bccc qcacld-3.0: Pass double pointer to hdd_softap_deregister_sta
The function hdd_softap_deregister_sta takes the sta_info as the
argument and calls hdd_sta_info_detach. In hdd_sta_info_detach, the
memory assigned to the sta_info is being freed. For this memory to be
properly freed and set to NULL, the actual memory location must be
passed to the function; which is currently not happening.

Pass the actual memory location by reference using a double pointer so
that the memory cleanup is proper.

Change-Id: If0f846957df0378ea7a13b76bdf9c6ef562ed90e
CRs-Fixed: 2627296
2020-03-04 19:48:16 -08: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
Rajeev Kumar
f4627be10a qcacld-3.0: Add policy attribute to MPTA_HELPER_CONFIG
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement add policy to following vendor
command as part of this change:
	QCA_NL80211_VENDOR_SUBCMD_MPTA_HELPER_CONFIG

Change-Id: Id83ee15ec7eb43103e44505f44fb9ff48cb23f74
CRs-Fixed: 2634109
2020-03-04 04:22:56 -08:00
Yeshwanth Sriram Guntuka
c35cf29a42 qcacld-3.0: Use appropriate mac addr when fetching sta info
In SAP mode, as part of dhcp inspection, sta info is fetched
using the source address of the packet irrespective of
direction. This results in sta info fetch failure in case
of dhcp tx frames where source address is self mac address
which is not registered as part of SAP start. Due to this,
when sending dhcp ack frame, tx comp flag is not set in nbuf
cb causing dhcp stop ind to be not sent to firmware.

Fix is to use dhcp client mac address to fetch sta info.

Change-Id: Ia61b93d24f3d069b40fe8ffa5ee7b6ba1e30e7c5
CRs-Fixed: 2632275
2020-03-04 03:00:30 -08:00
Rajeev Kumar
b15cacfbfc qcacld-3.0: Add policy attribute to SUBCMD_COEX_CONFIG
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement add policy to following vendor
command as part of this change:
	QCA_NL80211_VENDOR_SUBCMD_COEX_CONFIG

Change-Id: I865ec470e1b24d1e4c5094648435ea7020a01af8
CRs-Fixed: 2634095
2020-03-04 01:26:45 -08:00
Rajeev Kumar
4e80a0a550 qcacld-3.0: Add policy attribute to WIFI_TEST_CONFIGURATION
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for a NL command to be verified against while
registering wiphy to the kernel.
To satisfy kernel 5.2 requirement add policy to following vendor
command as part of this change:
	QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION

Change-Id: I91a97a17fa27f93f20385a250f098d5b01081023
CRs-Fixed: 2634072
2020-03-04 01:26:38 -08:00
Bapiraju Alla
b9c36856fa qcacld-3.0: Periodically print ARP and DNS stats after STA association
Currently no stats were printed related to ARP and DNS frames at STA
after initial association or after roaming complete.

To print these logs, add INI configuration and a periodic timer to
print ARP and DNS stats after initial association or after roaming
complete. This is an optional feature controlled by
'WLAN_FEATURE_PERIODIC_STA_STATS' flag.

Change-Id: I373632cc35584728c5b556bb28eda1077d51fd9b
CRs-Fixed: 2619383
2020-03-03 18:52:46 -08:00
Abhishek Ambure
ea0df50852 qcacld-3.0: Update roam count in LFR3 roaming
User get BSS stats for the command response of GETBSSINFO. Driver saves
BSS info of the connected AP in HDD's station context. For every
association completion, driver updates BSS info stats.

In LFR3 roaming, Roam sync state in the CSR layer is set to 1 if STA
associates with new AP because of roaming. Thus for LFR3 roaming, driver
uses roam sync state to update roam count while processing association
completion.

Change-Id: Ia75f4c7b049a0546b2922d890cb3c12f6f4513a2
CRs-Fixed: 2632421
2020-03-03 15:54:56 -08:00
Arun Kumar Khandavalli
62814f8ac4 qcacld-3.0: stop the idle restart timer before reading the driver status
If the idle restart is not stopped before reading the driver status
the driver status could be changed in the other thread leading to
different issues.

Stop the idle restart timer before reading the driver status, so
the next action depending on the driver status can be taken correctly.

Change-Id: Ida7fe3fe8144e300344d29cae8188b64f074b3bb
CRs-Fixed: 2626500
2020-03-03 00:48:30 -08:00
Pragaspathi Thilagaraj
63eb6363dc qcacld-3.0: Introduce ini for roam_triggers including sta kickout trigger
Introduce ini for roaming_triggers to enable/disable specific
roaming triggers. This will be the master ini to control roaming
triggers. If this ini is set to zero, roaming will not be enabled
on the sta interface unless its enabled via vendor command.
A new roaming trigger - Sta kickout roaming is introduced in
firmware, include this bit support also in the ini.

The value of this ini will be sent over the wmi command
WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID during RSO start.
Reset this value to 0 during RSO stop if RSO stop is due to
disconnect or roam synch failure.

Change-Id: I02f207cdde9d8fb68cd91fab07572baa9e7ac50d
CRs-Fixed: 2631712
2020-03-02 19:12:34 +05:30
sheenam monga
56b4d46146 qcacld-3.0: Include/Exclude roam reason dynamically in reassoc frame
Currently, if roaming happens roam reason is not sent to AP. AP will
not able to know why roaming happened. As roaming is offloaded to
firmware, firmware will include roam reason vsie based on driver
indication by vdev param
WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE based on
below conditions:

Parse the QCA attribute CONFIG_ROAM_REASON to control
inclusion/exculsion of roam reason vsie dynamically. Vendor subcommand
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION can control roam
reason vsie inclusion using QCA atrribute CONFIG_ROAM_REASON.
Different operations required to implement this feature can be
specified in QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON, so driver parses
CONFIG_ROAM_REASON, updates enable_roam_reason_vsie and indicates to
firmware by updating vdev param.

a.) If Userspace wants the firmware to include roam reason in reassoc
    frame, it can send QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON with
    value 1 and driver will update enable_roam_reason_vsie  to 1.
    Driver will update vdev parameter
    WMI_VDEV_PARAM_ENABLE_DISABLE_ROAM_REASON_VSIE, so that firmware
    can include roam reason vsie in reassoc frame during roaming.
b.) If this command is not issued, the default behavior of the
    firmware is not to include err reason code in beacon report
    response. Driver will send default value of
    enable_roam_reason_vsie to firmware which is 0.
c.) The userspace requests the firmware to stop roam reason vsie
    reporting when roam reason is not required for AP anymore. If
    userspace doesn't want the roam reason  inclusion, userspace can
    send QCA_WLAN_VENDOR_ATTR_CONFIG_ROAM_REASON with value 0 and
    driver will update enable_roam_reason_vsie and notify firmware to
    exclude roam reason.
If userspace requests the driver to get the status of
enable_roam_reason_vsie , to check whether firmware includes roam
reason vsie or not, driver will fill CONFIG_ROAM_REASON attribute and
will update to userspace.

Change-Id: I063c822e99fd6908bd4188b429ffa6a2031cee5d
CRs-Fixed: 2624713
2020-02-29 05:20:40 -08:00
Huashan Qu
1b3be2948e qcacld-3.0: dynamic channel switch implementation
When dynamic channel switch is enabled, trigger acs and switch to best
channel if wlan interference is found in 5g mac.

Change-Id: I56661f5c42a233a0dc0a6400d75cb8f5c0019706
CRs-Fixed: 2599176
2020-02-28 05:55:45 -08:00
Jingxiang Ge
57c4bf2896 qcacld-3.0: Fix wlan_start_comp reset earlier issue
Issue happens when loading driver fail, it will enter pld_deinit,
as wlan_start_comp maybe reset before waiting in
wlan_hdd_state_ctrl_param_write, so once driver is unloaded,
the completion timeout happens 20s later, it will access invalid
wlan_start_comp.

Move init wlan_start_comp when creating wlan node, so it will not
cause completion timeout.

Change-Id: I9a8f43cdf9aa4c777272b7c28f1160e993c4dce4
CRs-Fixed: 2630479
2020-02-28 00:19:49 -08:00
Vevek Venkatesan
7567bc26ee qcacld-3.0: map DSCP CS6(48) to UP AC_VO(7)
Changing the mapping of Differentiated Services Code
Point named CS6(48) to the User Priority AC_VO(7).

Change-Id: I167d8c6327a8b3c292f98baafb5baccfdfdfc277
CRs-Fixed: 2629716
2020-02-27 20:15:50 -08:00
Yu Wang
caaa32ef90 qcacld-3.0: fix compilation error
The interface wlan_hdd_disconnect() was changed, add 'reason' parameter.

Change-Id: Icdd0e71a8ecbe5aaeffbb29b51c9fef33ab77ff8
CRs-Fixed: 2534768
2020-02-27 18:49:44 -08:00
Vulupala Shashank Reddy
d493c152c9 qcacld-3.0: Record the channel number for pktcapture mode
For packet capture mode, record the channel number on
which STA vdev is operating on.

Change-Id: Id52536b5b238dc1e4fe4c612a651c6fe8ddc17d3
CRs-Fixed: 2627713
2020-02-27 10:15:57 -08:00
Srinivas Dasari
ef0a3e18c6 qcacld-3.0: Log disconnect reason with info level
Currently, driver logs the internal reason code and IEEE80211
reason code with debug level. But internal and IEEE80211 reason
codes are same if the disconnect reason code is in the range of
IEEE80211 reason codes. So the log info would be redundant.
Log internal reason code and corresponding vendor reason code
to be specific. Log this with INFO level so that it's logged to
default kernel logs.

Change-Id: I7b85285b626b492da5e55756c020428e498e56c5
CRs-Fixed: 2629630
2020-02-26 22:38:38 -08:00
Abhishek Singh
a7d74b38d6 qcacld-3.0: Remove unnecessary enter exit from PMO functions
Remove unnecessary enter exit from PMO functions.

Change-Id: I5b15d5d943f91fad68dfdf98a0f343e6c1379364
CRs-Fixed: 2628634
2020-02-26 16:33:23 -08:00
Surabhi Vishnoi
4eaa25c659 qcacld-3.0: Add sysfs entry to display ftm time sync offset
Add the sysfs entry ftm_time_sync in STA mode to show the offset
derived for the STA(slave) with respect to connected AP(master).

Change-Id: I05b16ccdb983c53fb86eeb14ba98bd3cc9a2dce6
CRs-Fixed: 2621152
2020-02-26 14:56:29 -08:00
Abhishek Singh
d5712927b2 qcacld-3.0: Improve logging in driver
Improve logging in driver by avoiding unnecessary error prints
and combining logs.

Change-Id: Ibab9067aa1bce992f36fca22a5aed88e8d85ba25
CRs-Fixed: 2627549
2020-02-26 11:39:28 -08:00
hqu
9ab959e9b1 qcacld-3.0: Fix double free for master_freq_list
Bring up dual SAP with acs mode in 5G band, when the first SAP start
on DFS channel, the second SAP will choose the same DFS channel with
wlan_hdd_sap_cfg_dfs_override(), but it misses
free/malloc/copy operation for master_freq_list so that the second
SAP use the same master_freq_list pointer as the first SAP, when stop
dual SAP it will cause master_freq_list double free
from sap_undo_acs().

Fix is to add free/malloc/copy operation for master_freq_list.

Change-Id: I2fa2e37899ca0a5ce25941b82b46c5672a27d8eb
CRs-Fixed: 2629301
2020-02-26 11:39:10 -08:00
Abhinav Kumar
fa7afb9c0f qcacld-3.0: Add pmksa based on SSID and cache id
For FILS pmksa cache, the pmksa add/del/query is based on SSID
and cache id.
1. Add SSID/Cache ID to pmksa cache using pmksa API.
2. Set PMK to csr session if PMK is present, PMK will be sent
to FW in RSO command.

Change-Id: I88a3e70a50565300ebab9723b439ee7674788b55
CRs-Fixed: 2621846
2020-02-26 06:41:45 -08:00
Abhinav Kumar
267ed0068e qcacld-3.0: Clear same pmk info while processing del/flush pmk
Clear sae_single_pmk info while processing del/flush pmk command
from supplicant, if required.

Change-Id: Idd974822ef0426461cd9971e54d8244d64b246b5
CRs-Fixed: 2616036
2020-02-26 06:41:25 -08:00
Abhinav Kumar
c71e678b18 qcacld-3.0: Add support for sae roaming with single PMK
Requirement is to allow station to just keeps only one
PMK1 and PMKID1 which gets derived while first connection
and re-use it for roaming to other AP which has some
specific VSIE.

To support this feature, STA should:
1. Set new flag in 11i params during RSO start/update when
initial connection is completed based on the VSIE in AP
beacon/probe response frame. This flag will allow fw to roam
to AP(s) which has VSIE with single PMK.
2. STA should dynamically enable this feature if below
vendor specific IE on AP’s Beacon or Probe Response at
the first connection:
Category 	Data
Type 		0xDD
Length 		0x05
OUI 		0x00 40 96
Type 		0x03
Data 		Don’t care
		(EX, 0x05)

Maintain a separate pmk information structure to support sae
roaming using single pmk.

Change-Id: I0aac7659cecd4d8aaff86c9715e512cf46f22615
CRs-Fixed: 2616035
2020-02-26 06:40:44 -08:00
Pragaspathi Thilagaraj
77767915dd qcacld-3.0: Fix MBO IE not added in probe requests
Currently the driver doesn't add MBO IE to probe if in the
scan request, req->ie_len is non-zero and req->ie doesn't have
the MBO IE.
Also when connection is triggered from AP2 from AP1 both advertising
different SSID, then there will be a vdev delete followed by
vdev create, and scan request is not received from userspace, then
the unicast probe sent from the driver doesn't have the MBO IE.

Add MBO IE if its not present in the scan request ie.
In roam profile if pAddIEScan is NULL, get IEs from default scan IE.

Change-Id: I574f5cae2158a2d4f0adad6d15b8aba2df1de0a2
CRs-Fixed: 2622871
2020-02-26 04:53:25 -08:00
Jia Ding
97b62586f8 qcacld-3.0: Support per AP isolation in WLAN IPA
AP isolation a.k.a intra-bss forwarding is a per AP attribute. Issue in
current IPA implementation is that it does not support per AP control.
In a SAP-SAP configuration, latter SAP configuration will always overwrite
first SAP's isolation configuration.

Fix is to add vdev id parameter from protocol layer so that IPA component
could configure AP isolation on a per AP basis.

Change-Id: I9c96cdcda03eb10b4c2984a757e52d77b5bf6790
CRs-Fixed: 2624757
2020-02-25 21:58:03 -08:00
Kiran Kumar Lokere
0e6e858aa9 qcacld-3.0: Correct the SAP event in channel switch response
In channel switch response start bss success event is used to
indicate the success in which the initial bss settings are done
that is leading to set the incorrect keys after the channel switch.
Use the channel change event to indicate channel switch success.

Change-Id: I0915ee78a97e5f27ce83c31cc673cb8820ae535b
CRs-Fixed: 2620809
2020-02-25 18:47:13 -08:00
Karthik Kantamneni
47bb8d7be8 qcacld-3.0: Fix completion timeout value in hdd vdev destroy
In this change Ia6fe504e2a2d01f12c3d3446fffc2fc397566966 qdf event
is replaced with linux completion timeout API.
But linux completion API accepts timeout argument in jiffies,
resulting timeout to set high value of 130 seconds greater
than DSC module timeout 60 seconds. In some cases vdev destroy timer
is taking more time than DSC timeout resulting DSC module to
assert host crash.

Fix is to convert timeout value from mill seconds to jiffies in
completion handler and set proper value of 13 seconds.

Change-Id: I9cfdcec02895747a883c00f6e2889d4f5ec3d7f2
2020-02-25 18:46:56 -08:00
Ashish Kumar Dhanotiya
fd621e86a0 qcacld-3.0: Query sta stats on disconnect in case of SAP
Currently for big data logging in case of sap, query for
rssi, txrate and rxrate happens when station issues disconnect
to SAP but these stats are not queried when SAP
issues disconnect to the connected station.

To address above issue, add a logic to issue stats request
to FW when SAP disconnects the connected station.

Change-Id: I40db82d7b57fd0894ffbe95f52d27b4931227690
CRs-Fixed: 2626857
2020-02-25 01:16:09 -08:00
Srinivas Dasari
fc3aea42ea qcacld-3.0: Send assoc request IEs in STA_INFO in SAP mode
Userspace expects the assoc request IEs of a disconnected station
to derive 11kv capabilities. Send the same in STA_INFO as part
of remote station info.

Change-Id: Iab5f39de833cd06e814e83f0149a0d21caf59b9f
CRs-Fixed: 2624922
2020-02-24 04:32:26 -08:00
Srinivas Dasari
77500a4543 qcacld-3.0: Send disconnected AP beacon IEs to userspace in sta_info
Currently beacon IEs of the connected AP are cached in host driver
and flushed when it disconnects. Userspace needs this info after
disconnection to know the capabilities of the last connected AP.
So don't flush the IEs just after disconnection and provide the
same to userspace in GET_STA_INFO when queried. IEs are flushed
in the next connection.

Change-Id: I29c308b01b7519fffa174e26d644e0817e51b6fc
CRs-Fixed: 2624882
2020-02-24 04:32:11 -08:00
Srinivas Dasari
c5b88c309f qcacld-3.0: Send last disconnect reason in sta_info to userspace
Driver caches last disconnected reason code in adapter. Convert it
to enum qca_disconnect_reason_codes and send it in STA_INFO to
userspace.

Change-Id: Ifd8566f4fb7d412d9a6ded0ae06f51b0c1dd6d2b
CRs-Fixed: 2624792
2020-02-24 04:31:36 -08:00
Guisen Yang
eebdeb13dd qcacld-3.0: Do not remove pm qos notifier if it's not added
The notifier for pm qos is added when the runtime pm dynamic
is defined, when removing the notifier, we should also check
if the runtime pm dynamic is defined or not. We should not
remove this notifier if it is not defined.

Change-Id: Ic628c6fc38da00b2491355786ff40020d0249bb2
CRs-Fixed: 2622946
2020-02-24 03:06:38 -08:00
Jingxiang Ge
9a4d95c3fd qcacld-3.0: Fix dp_rx_thread hang issue
Issue happens as below scenaio:
1 suspend happens, but dp_rx_thread didn't finish in time,
  so timeout happens for suspend_event, here suspend will
  return success to kernel.
2 resume happens before dp_rx_thread to reset resume_event,
  and resume finished.
3 if dp_rx_thread finished and blocking with resume_event,
  and in following test, suspend didn't come(longer then
  hang detect time).
4 hang detect will alarm.

Fix is to return failure if dp_rx_thread can't be suspend
in time. Suspend can triger again later.

Change-Id: Ifbfdef5bb1c8d6e00b8fa5cc5e6dc74d3495c9ea
CRs-Fixed: 2626468
2020-02-24 00:20:35 -08:00
Alan Chen
bc2dfe86c1 qcacld-3.0: Move hdd_register_notifiers()/hdd_unregister_notifiers() calls
PM QoS notifier is not getting deregistered during module stop and is
racing with module start as a result. Move hdd_register_notifiers()
and hdd_unregister_notifiers() calls to hdd_wlan_start_module() and
hdd_wlan_stop_module() to do proper registration and de-registration.

Change-Id: I4d47393d600c2c162b54e16ecdf06b286f1b93bc
CRs-Fixed: 2626126
2020-02-23 08:53:51 -08:00
Surabhi Vishnoi
bb69422804 qcacld-3.0: Add support to trigger FTM time sync feature
FTM time sync feature is triggered when connection takes place
in case of STA and bss starts in case of SAP. The feature is
stopped when STA disconnects and bss stops.

Change-Id: I963b0134b7432c9827c2fb3d9dce7c81a8666d4d
CRs-Fixed: 2621144
2020-02-23 08:53:35 -08:00
Will Huang
64a2e6f892 qcacld-3.0: Add idle shutdown for hostapd mode stop
Because FW don't support idle pdev suspend, and when all interface down
host will not send wow enable command because wakeup is not expected.
So the idle shutdown precedure is already there to prevent system go to
idle pdev suspend state, but it only exist for station mode now, apply
it to hostapd mode as well.

Change-Id: I1b11b5bd038ea9ad23835f142e443ea11e90f55b
CRs-Fixed: 2624453
2020-02-21 19:51:01 -08:00
Abhishek Ambure
4bb3519a42 qcacld-3.0: Add support to get roam scan channels from fw
Firmware advertises WMI_SERVICE_ROAM_SCAN_CHANNEL_LIST_TO_HOST_SUPPORT
at the time of initialization. When user requests for roam scan channels
to driver using GETROAMSCANCHANNELS command, driver queries firmware for
roam scan channel list by sending wmi command with command id
WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID and vdev id.
Firmware response to WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID commmad is
WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID. This event has roam scan channel
list, vdev id, connected BSSID, command_response.

Firmware issues WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID event for two reasons,
one for GETROAMSCANCHANNELS command where firmware sets command_response=1
in wmi event and asynchronous event upon disconnection where firmware sets
command_response=0 in wmi event.

Change-Id: I690aca6c3f1e3aa7ae1fe54aadc839ea19446079
CRs-Fixed: 2621535
2020-02-21 04:41:35 -08:00
Surabhi Vishnoi
492308b08f qcacld-3.0: Add ini for FTM time sync component
Add ini config required for FTM time sync feature.

"enable_time_sync_ftm"- ini to enable/disable the feature.

"time_sync_ftm_mode" - ini to configure the burst/aggregated mode.
In burst mode the offset derived for each RTT frame is sent by
firmware, in aggregated mode only one offset is sent by firmware.

"time_sync_ftm_role" - ini to configure slave(STA)/master(SAP) role.

Change-Id: I6a06d6fdc4c7556c32ab2d28f1cbaa936b98a85b
CRs-Fixed: 2618654
2020-02-21 01:44:59 -08:00
Jeff Johnson
0ab57fee82 qcacld-3.0: Put a wrapper around wireless_send_event()
Function wireless_send_event() is only present in the kernel when
wireless extensions are enabled. In order to allow the driver to build
when wireless extensions are disabled, put a wrapper around that
function.

Note that this is only a partial solution to the problem since this
means that when wireless extensions are disabled that the event will
not be sent to userspace. A subsequent effort will need to evaluate
each event to see if a cfg80211-based notification mechanism is
already in place, and if not, if one needs to be added in order to
maintain the underlying functionality.

Change-Id: Icbdddf6735bdc5ffd1ee189b5fabfa67fcce59ea
CRs-Fixed: 2621699
2020-02-20 19:40:19 -08:00
Jeff Johnson
9453a8fc58 qcacld-3.0: Refactor wireless_handlers NULLing logic
Currently there is logic to set the net device wireless_handlers
pointer to NULL in both hdd_deinit_station_mode() and
hdd_deinit_ap_mode(). This is unnecessary duplication of code, and
worse, this is WEXT-specific logic that exists outside the
WEXT-specific source files. In order to address these issues refactor
the logic into a new function that is exposed by wlan_hdd_wext.h.

Change-Id: I0fab5a7f35941f282ddf2e286fb12bfb8c4c7c50
CRs-Fixed: 2620818
2020-02-20 19:39:57 -08:00
Dundi Raviteja
56eec3d519 qcacld-3.0: Remove packet capture ini's in cds
Remove packet capture ini's in cds.

Change-Id: Ice4765c7eb697743b1dccc8a70be1b7ce766e037
CRs-Fixed: 2619322
2020-02-20 16:23:37 -08:00
Vulupala Shashank Reddy
4affa222c9 qcacld-3.0: Register tx and rx ops for packet capture component
Register tx and rx ops to send packet capture mode command and
to receive mgmt offload handler for packet capture component.

Change-Id: I70da00feff29399b98c5916eec17e26b62285db3
CRs-Fixed: 2619321
2020-02-20 16:23:28 -08:00