Commit Graph

5832 Commits

Author SHA1 Message Date
sheenam monga
78ecf305e0 qcacld-3.0: Update wiphy parameters
Currently, For some targets driver does not support all
AKM suits but kernel supports all akm suits which causes
compatibility issue.

Fix is to update wiphy->iftype_akm_suites and
wiphy->num_iftype_alm_suites based on the akm suits supported
by driver.

Change-Id: I06cab4654e626bc34c6bb3f8ea5f9b9beb81c82b
CRs-Fixed: 2635797
2020-03-25 20:42:35 -07:00
Wu Gao
4425921c33 qcacld-3.0: Add HDD files for CFR component
Add host driver interface files for Channel frenquency response (CFR).

Change-Id: I8ac35befa797d8100b38210cd3831b9a78bb03f1
CRs-Fixed: 2637146
2020-03-25 17:20:12 -07:00
Karthik Kantamneni
06a63cafdd qcacld-3.0: Moselle changes for WHUNT simulation support
Add PLD layer and config changes for simulating
IPCI virtual device in WHUNT.

Change-Id: Ia07ce0884f0e5ffe9b4d23977476c1789390e1c9
CRs-Fixed: 2648150
2020-03-25 15:25:13 -07:00
Qun Zhang
b4e2c33bab qcacld-3.0: Replace QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST with NUM_CHANNELS
Currently QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST aren't aligned with
NUM_CHANNELS, these unalignment may cause some potential OOB access.
So replace QDF_MAX_NUM_CHAN/POLICY_MGR_MAX_CHANNEL_LIST with NUM_CHANNELS
to keep unified.

Change-Id: Ib6c81a3979f2fd29ba1ec678f018a6704b599385
CRs-Fixed: 2644066
2020-03-25 07:08:36 -07:00
gaurank kathpalia
bcc6349b04 qcacld-3.0: Fix compilation failure
Fix compilation failure in hdd_update_wiphy_he_cap

Change-Id: I79820ab13af58c4bf0a5fa176accfa2cbdb28180
CRs-Fixed: 2647725
2020-03-24 16:37:46 -07:00
bings
9e55b99378 qcacld-3.0: Notify channel info to kernel after channel switch
After channel switch, driver should indicate new operation channel to
kernel, otherwise wireless_dev->chandef still uses old channel whose
status may become disable when radar is detected in the old channel.

In hdd_chan_change_notify use frequency instead of channel number.
Notify channel information to kernel after channel switch.

Change-Id: I6dbf3d61978e4c35fe41b438397e635d62378719
CRs-Fixed: 2639076
2020-03-24 04:56:41 -07:00
Qun Zhang
6bb9513217 qcacld-3.0: Correct the peer_macaddr index to the expected value
valid_idx should be used instead of idx to check peer_macaddr
mac address.

Change-Id: Ifd761e4b9caa36d2a04b1dd3bcd75c7181b347f2
CRs-Fixed: 2644625
2020-03-23 04:09:58 -07:00
Ashish Kumar Dhanotiya
b994a75a34 qcacld-3.0: Allocate vdev private data along with vdev
Currently vdev private data osif_priv gets allocation
separately and requires to be de-alloc separately.
This de-alloc needs to be taken care at different places
based on the vdev create failure or whenever vdev is freed.
As vdev private data is associated to the vdev and needs to
be freed if vdev is not there, it is good to allocate this
private data along with vdev so that there is no need
to maintain allocation and de-allocation of vdev priv data
separately.

As part of this change alloc the vdev priv data along with
the vdev allocation as a single memory and free of the vdev priv
data will be taken care as part of vdev free.

Change-Id: I8d4b94cae564c7f2498f7b8cc8aa84a2edd6420d
CRs-Fixed: 2634998
2020-03-23 04:09:49 -07:00
Jianmin Zhu
d682eb4e28 qcacld-3.0: Compare mac id for ap-sta force scc
Consider SBS mode and 6GHZ, can't force scc only by band.
for example: 1 port on 5G, another on 6G,  they may be on same
MAC, may be not. Just compare mac id from connection list
directly.

Change-Id: I5bfc9cd14b058a6a4f402c0e2d2f9ae7da8287fb
CRs-Fixed: 2646499
2020-03-23 00:23:56 -07:00
bings
dc47aaaefd qcacld-3.0: Fix build error of prev_bssid of cfg80211_connect_params
prev_bssid of cfg80211_connect_params can only be accessed when there
is prev_bssid field in struct cfg80211_connect_params.

Change-Id: I370bb76e180b9eae1b34f8fd33e9551f6e42bf65
CRs-Fixed: 2642334
2020-03-21 14:41:33 -07:00
Srinivas Girigowda
c7d8c585ee qcacld-3.0: Move sar related functions to wlan_hdd_sar_limits.c
Move sar related functions from wlan_hdd_cfg80211.c to
wlan_hdd_sar_limits.c.

Change-Id: I65f4e33469d5fc2dd09ae37fd0138b3d3d2c5f9d
CRs-Fixed: 2638028
2020-03-21 08:49:24 -07:00
Alok Kumar
c99a7e3cb0 qcacld-3.0: Add API to get adapter based netif queue history
Currently, netif queue history is displayed for each adapter
by iterating over adapter list in the HDD context. But, this
iteration is not safe when unregistration of netdev going in
parallel in other thread. In case the adapter is removed, the
iteration will result in NULL pointer dereference.

Avoid iterating over adapter list, add call newly added API, which
is adapter based, to get netif queue history. When iteration over
adapter list is needed, call hdd_for_each_adapter_dev_held API.

Change-Id: I45fd8cd80cf21931ee352d612b10752ef0837c06
CRs-Fixed: 2639882
2020-03-20 17:05:47 -07:00
bings
83c7c370d1 qcacld-3.0: Fix build error when WLAN_SUPPORT_RX_FISA defined
Fix print format in core/dp/txrx3.0/dp_fisa_rx.c
Both cds_ieee80211_common_i.h and net/ieee80211_radiotap.h define
IEEE80211_CHAN_*, so only one header is needed in wlan_hdd_tx_rx.c

Change-Id: Ie9c3a7ea04e9b71acf96f007515a7ae6c0def938
CRs-Fixed: 2644359
2020-03-20 17:05:31 -07:00
Bapiraju Alla
51ab1164a1 qcacld-3.0: Synchronize sta_info access in host driver
Currently there is no synchronized access for sta_info. Because of this
memory use after free is getting triggered.

To resolve this, use a reference count for sta_info to check whether it
is in use or not before freeing.

Change-Id: I696461a1f53f4cc4739963f3f97ada31d3fa15f3
CRs-Fixed: 2637074
2020-03-20 06:02:13 -07:00
Srinivas Dasari
5ab63299b9 qcacld-3.0: cleanup NAN/NDP logging
Few NAN/NDP logs are redundant in the current logging infra.
Optimize the same and add few necessary logs.

Change-Id: Ie261db317af48955a16269539948ff1596c4bbcb
CRs-Fixed: 2644418
2020-03-19 20:41:40 -07:00
Rachit Kankane
66b4b30bcf qcacld-3.0: Return LL stats resp in caller context
Return response for Link Layer stats command in caller
thread's context.

Change-Id: I8a6a0b21d7915cd21422dbef9b87fa17d99fb244
CRs-Fixed: 2619295
2020-03-19 16:00:55 -07:00
gaurank kathpalia
95068d734f qcacld-3.0: Ignore roaming in progress in start bss
Currently the hotspot fail happens if the roaming is in
progress because of the check in start bss.
Ignore it and just do disable roaming to the FW.
If the roaming was in progress, it would disable it,
or it would do a disconnect if the EAPOL was in progress.
This is done to enable the hotspot as connect would be
taken care by the supplicant automatically, but the hotspot
needs user intervention.

Change-Id: I0030f9affe60c064d490795be92ae035923738aa
CRs-Fixed: 2640136
2020-03-19 16:00:42 -07:00
Sourav Mohapatra
ba099643cb qcacld-3.0: Return success for sched_scan_stop
Presently in the driver, the function __cfg80211_stop_sched_scan
clears rdev->sched_scan_req only when the sched_scan_stop returns
success. If it returns a failure, then its next invocation due to the
clean up of the second interface will have the dev pointer corresponding
to the first one leading to incorrect memory access.

To resolve this issue, return 0 for stop_sched_scan irrespective of the
return status.

Change-Id: I129e3e9c6d9f6a688d0aa97be120ba9731e8df37
CRs-Fixed: 2623160
2020-03-19 14:19:41 -07:00
Jianmin Zhu
159c7d8bad qcacld-3.0: Check whether SAP need restart
If there is no STA/P2P CLI on same MAC of SAP/P2P GO,
SAP/P2P Go needn't switch channel to force scc.

Change-Id: I529a57f73f529e41b8c0097fccabbe3e0e516993
CRs-Fixed: 2643106
2020-03-19 10:45:05 -07:00
Vulupala Shashank Reddy
53fff0890d qcacld-3.0: Don't add monitor mode if no interface is up
Check if any interface is up and if no interface is up
do not add monitor mode.

Change-Id: I2e1218a14881f597885334c0a195758ed35c5e5b
CRs-Fixed: 2644285
2020-03-19 10:44:45 -07:00
Jingxiang Ge
e4f1f2a0e5 qcacld-3.0: Fix double create mibstats_lock issue
mibstats_lock is a global variable, current it init
per adapter, so it will fail when init at 2nd time.

Make sure it only create once.

Change-Id: Ia8a57d049fabe311d5b353b5aa612ffa225cbc61
CRs-Fixed: 2643396
2020-03-19 07:47:32 -07:00
Abhishek Ambure
09fbde6405 qcacld-3.0: Add interface index for roam scan ch list event
To specify interface index in vendor event for sub command
QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO_INDEX, pass wdev pointer
to cfg80211_vendor_event_alloc().

Change-id: Ied973df111359bbab44e2c1de0888a67e1497034
CRs-Fixed: 2644349
2020-03-18 15:37:45 -07:00
Dundi Raviteja
25a77e7f71 qcacld-3.0: Process pkt_capture APIs based on packet capture mode
Process pkt_capture APIs only if packet capture mode is present.

Change-Id: Ibf08e550a829c266fd108c0023c016ab36728589
CRs-Fixed: 2640309
2020-03-17 23:27:58 -07:00
Ashish Kumar Dhanotiya
79d116ce7e qcacld-3.0: Do not start unsolicited timer back to back
Currently there is no check to not start unsolicited timer
if its callback is already in process. If once this timer
expires and callback is invoked, and if this timer again
tries to start before the callback completes there is no
check to prevent this timer from starting.

As the callback of the previous timer expiry is already in
progress, there is no need to start the unsolicited timer
again. To address this issue a check is added before starting
the unsolicited timer to validate if the callback is still
in progress.

CRs-Fixed: 2635740
Change-Id: Ib008562be22356c3a286fab49a61f99d6867c54e
2020-03-17 11:46:54 -07:00
sheenam monga
a89f7ed3a3 qcacld-3.0: Validate number of bytes before memory allocation
Currently, In function hdd_get_roam_scan_ch_cb memory
is allocated for event response buffer for invalid len.

Fix is to add a validation check for len before alloction
of memory to avoid memory allocation for invalid len.

Change-Id: I14cffdace868fc19358322c36dd2589d7845b8fa
CRs-Fixed: 2640114
2020-03-17 09:15:22 -07:00
Liangwei Dong
ead166aef9 qcacld-3.0: Log optimization of hdd_validate_context
Limit logs in hdd context validation during SSR
and Load/unload.

Change-Id: I89cd609309b40dcb57a05cf72fae8690ab00db58
CRs-Fixed: 2640760
2020-03-17 05:14:05 -07:00
Alan Chen
3c7aab4c49 qcacld-3.0: Add dummy vendor command policy attribute
Kernel 5.2+ is checking vendor policy attribute even for GET commands.
Add dummy policy attribute to following GET vendor commands:
	QCA_NL80211_VENDOR_SUBCMD_GET_HE_CAPABILITIES
	QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_DIAG_STATS
	QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CAP_INFO
	QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_STATUS
	QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_GET
	QCA_NL80211_VENDOR_SUBCMD_MONITOR_RSSI
	QCA_NL80211_VENDOR_SUBCMD_GET_SAR_LIMITS
	QCA_NL80211_VENDOR_SUBCMD_GET_FW_STATE

Change-Id: I354b2de86909142ed3db0fb4a4d1545ac2b37d55
CRs-Fixed: 2639687
2020-03-16 17:23:03 -07:00
Ashish Kumar Dhanotiya
cc9761c613 qcacld-3.0: Update max values of INIs related to SAR
Currently MAX values of INIs gSarSafetyReqRespTimeout
and gSarSafetyReqRespRetry leads the callback api
to execute for more than 10 seconds which is not as per
driver's scheduler design.
To avoid above issue update above INI values to limit
the execution of the callback api to execute for less
then 10 seconds.

Change-Id: Icdeaf360754b2e86119251cd66c4e8f107f08d98
CRs-Fixed: 2637653
2020-03-16 08:04:56 -07:00
Jingxiang Ge
84efe29b2b qcacld-3.0: Enhance log in wlan_hdd_pm_qos_notify
Print runtime_pm_prevented info.

Change-Id: Ica1d626fea4c87fe53f6f6c4a78da7d52331ffba
CRs-Fixed: 2641631
2020-03-16 03:47:06 -07:00
Paul Zhang
21363751ad qcacld-3.0: Add policy attribute for ll_stats_clr
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 accommodate these changes, add policy for the following
vendor command that is being registered in the driver
	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_CLR

Change-Id: I5d29cc624021d489b641045e52d71db86cf3a09b
CRs-Fixed: 2634435
2020-03-14 16:37:42 -07:00
Wu Gao
98706f176b qcacld-3.0: Enable CFR log
This is part of adding channel frequency response. Enable debug log of
CFR component.

Change-Id: I0186129270c181c26b836b56545ef64507308808
CRs-Fixed: 2637183
2020-03-14 11:07:55 -07:00
Alan Chen
7ea116f3b0 qcacld-3.0: Add policy attribute to BTC_CHAIN_MODE
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_BTC_CHAIN_MODE

Change-Id: I6c6f0757df879def054862b7da09c8d7e856ff86
CRs-Fixed: 2635056
2020-03-14 09:14:20 -07:00
Alan Chen
00f4aa9f64 qcacld-3.0: Add policy attribute to SPECTRAL_SCAN subcommands
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
commands as part of this change:
	QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_START
	QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_STOP
	QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CONFIG

Change-Id: I2c7f4e6b41d341aac7b0984838c72f33a1e1ac5e
CRs-Fixed: 2634094
2020-03-14 03:24:11 -07:00
Srinivas Dasari
de0a8bedb3 qcacld-3.0: Define a dummy API for hdd_cleanup_ndi when NAN is disabled
Define a dummy API for hdd_cleanup_ndi to avoid "Unknown symbol"
error while loading driver when WLAN_FEATURE_NAN is not enabled.

Change-Id: Ib0d07c5ac7e57cf93e3a20eb6d12c50106939335
CRs-Fixed: 2640856
2020-03-14 01:39:54 -07:00
Jingxiang Ge
b5caac2e85 qcacld-3.0: Create debugfs file for crash_inject
Create crash_inject file to replace iwpriv cmd.

file path: /sys/kernel/debug/wlan_xx/crash_inject
           wlan_xx is adapter name

Change-Id: Iad8b52bd67345b47717a776759ad6156d654bb93
CRs-Fixed: 2636352
2020-03-13 23:50:00 -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
Will Huang
573db4b40c qcacld-3.0: Add policy attribute to hdd_wiphy_vendor_commands
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.

To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver

QCA_NL80211_VENDOR_SUBCMD_DO_ACS
QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES

Change-Id: I56d685cf3d7bab8f758d52b2e5d3c0a735accb26
CRs-Fixed: 2635226
2020-03-13 17:28:16 -07:00
Paul Zhang
3e231a9fd2 qcacld-3.0: Add policy attribute to hdd_wiphy_vendor_commands
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.

To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver
	QCA_NL80211_VENDOR_SUBCMD_ROAMING
	QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY
	QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY
	QCA_NL80211_VENDOR_SUBCMD_NAN
	QCA_NL80211_VENDOR_SUBCMD_STATS_EXT

Change-Id: Ie2fb541d45ecc04dc5d3f80a3af9060c390ae7f5
CRs-Fixed: 2634373
2020-03-13 15:31:43 -07:00
Ashish Kumar Dhanotiya
489e2ae31e qcacld-3.0: Update correct MCS parameters in wiphy
Currently MCS parameters are not getting correctly in
wiphy which results in incorrect capabilities for iw list
command output.

To resolve above issue, update MCS parameters correctly in
wiphy band capabilities.

CRs-Fixed: 2633314
Change-Id: I830ad50aa4842bd2a79c97ed7b11b82c35148ff0
2020-03-13 15:31:29 -07:00
Sourav Mohapatra
7c0a28545f qcacld-3.0: Add policy attribute to hdd_wiphy_vendor_commands [2]
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.

To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver

	QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX
	QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION
	QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_CAPABILITIES
	QCA_NL80211_VENDOR_SUBCMD_OFFLOADED_PACKETS
	QCA_NL80211_VENDOR_SUBCMD_MONITOR_RSSI

Change-Id: Ia67c9c1d4839e5061f25971578830714abcd66ff
CRs-Fixed: 2633596
2020-03-13 10:37:02 -07:00
Sourav Mohapatra
bde029b861 qcacld-3.0: Add policy attribute to hdd_wiphy_vendor_commands [3]
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.

To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver

	QCA_NL80211_VENDOR_SUBCMD_SETBAND
	QCA_NL80211_VENDOR_SUBCMD_SCAN_DONE
	QCA_NL80211_VENDOR_SUBCMD_OTA_TEST
	QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_SCALE
	QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_SCALE_DECR_DB
	QCA_NL80211_VENDOR_SUBCMD_ACS_POLICY
	QCA_NL80211_VENDOR_SUBCMD_STA_CONNECT_ROAM_POLICY
	QCA_NL80211_VENDOR_SUBCMD_SET_SAP_CONFIG
	QCA_NL80211_VENDOR_SUBCMD_TSF
	QCA_NL80211_VENDOR_SUBCMD_WISA
	QCA_NL80211_VENDOR_SUBCMD_GET_STATION
	QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_START
	QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_STOP
	QCA_NL80211_VENDOR_SUBCMD_SAP_CONDITIONAL_CHAN_SWITCH

Change-Id: Ibc9ec144eac63a8dab19e01c1718d17ea5cabb35
CRs-Fixed: 2633912
2020-03-13 08:38:44 -07:00
Sourav Mohapatra
2c0cc5f4bc qcacld-3.0: Add policy attribute to hdd_wiphy_vendor_commands
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.

To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver

	QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_FEATURES
	QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES
	QCA_NL80211_VENDOR_SUBCMD_GET_LOGGER_FEATURE_SET
	QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_INFO
	QCA_NL80211_VENDOR_SUBCMD_GET_BUS_SIZE
	QCA_NL80211_VENDOR_SUBCMD_NO_DFS_FLAG
	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_SET
	QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION
	QCA_NL80211_VENDOR_SUBCMD_NAN_EXT
	QCA_NL80211_VENDOR_SUBCMD_NDP
	QCA_NL80211_VENDOR_SUBCMD_SCANNING_MAC_OUI
	QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_START
	QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET
	QCA_NL80211_VENDOR_SUBCMD_ROAM
	QCA_NL80211_VENDOR_SUBCMD_PACKET_FILTER
	QCA_NL80211_VENDOR_SUBCMD_ND_OFFLOAD
	QCA_NL80211_VENDOR_SUBCMD_GW_PARAM_CONFIG
	QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_SET_KEY
	QCA_NL80211_VENDOR_SUBCMD_GET_RING_DATA
	QCA_NL80211_VENDOR_SUBCMD_TRIGGER_SCAN

Change-Id: I714c8b21a95144f7ed8ff4c6e038782e469edf3d
CRs-Fixed: 2621308
2020-03-13 08:38:24 -07:00
Jinwei Chen
bfe5d6b90c qcacld-3.0: fix skb leak possibility due to no failure handling
fix skb leak possibility due to no failure handling.

Change-Id: I0bd1e4cacdb408010057e35127a1ce9758c2e9c7
CRs-Fixed: 2627321
2020-03-13 06:47:03 -07:00
Arun Kumar Khandavalli
68c99e72e7 qcacld-3.0: Send vdev delete to firmware on notification
Presently vdev delete is sent to firmware 1st and the object manager
vdev delete is deleted after all the references are released.
With this change the vdev delete is sent to firmware when all the
references are released and the vdev delete is sent to firmware via
the object manager vdev delete notification.

Change-Id: I67bea0d2b2a0d2d9eb4602e5d0b8bbdcafdd4d26
CRs-Fixed: 2618278
2020-03-11 09:36:23 -07:00
Jingxiang Ge
2131384024 qcacld-3.0: Fix sta_info use after free in hdd_softap_stop_bss
In hdd_softap_deregister_sta, cdp_clear_peer may return fail
as peer has been deleted in other path, but the free of sta_info
will be continue.
So in hdd_softap_stop_bss, it will still access mac address
from sta_info, which will cause use after free.

Fix:
   Even cdp_clear_peer return failure, it is expected, so only
   log but not return failure to caller function.
   In hdd_softap_stop_bss, remove mac address info log as in
   hdd_softap_deregister_sta, there has been enough log for
   each failure case.

Change-Id: Id06c78cb8d215488eb34d8412359ac2d684756d5
CRs-Fixed: 2637287
2020-03-11 05:23:14 -07:00
Alan Chen
cc46ff0ae5 qcacld-3.0: Add policy attribute to SET_TRACE_LEVEL
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_SET_TRACE_LEVEL

Change-Id: Ifbeba29b5c3c7783217ed5f2352286e5537753e6
CRs-Fixed: 2633340
2020-03-11 01:46:34 -07:00
Jingxiang Ge
ba6213b1b6 qcacld-3.0: Add policy attribute for tdls/supported_feature
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.
To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver

    QCA_NL80211_VENDOR_SUBCMD_TDLS_ENABLE
    QCA_NL80211_VENDOR_SUBCMD_TDLS_DISABLE
    QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS
    QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_FEATURES

Change-Id: I4ad3d952d2af8f1d7f37179f9c92b0e77fc2eb23
CRs-Fixed: 2635755
2020-03-10 00:19:23 -07:00
Lincoln Tran
4cb4b007a1 qcacld-3.0: Add ini to pass xLNA bypass config to FW
Add new ini CFG_SET_SAP_XLNA_BYPASS under fw_offload to allow host
to pass config to FW. WMI_PDEV_PARAM_SET_SAP_XLNA_BYPASS makes the
SAP xLNA bypass configureable.

Change-Id: Ie501005f3035f14b3f23cdd260f401a6af81b798
CRs-fixed: 2632088
2020-03-09 20:57:16 -07:00
Jingxiang Ge
a6a955d19f qcacld-3.0: Add debugfs for unit_test_host/unit_test_target
These debugfs files are to replace wext cmd setUnitTestCmd
/unit_test/wlan_suspend/wlan_resume.

unit_test_host:
    /sys/kernel/debug/wlan_xx/unit_test_host
    wlan_xx is driver name
unit_test_target:
    /sys/kernel/debug/wlan_xx/unit_test_target
    wlan_xx is adapter name
wlan_suspend:
    /sys/kernel/debug/wlan_xx/wlan_suspend
    wlan_xx is adapter name
wlan_resume:
    /sys/kernel/debug/wlan_xx/wlan_resume
    wlan_xx is adapter name

Change-Id: I1ddf44b47a3f0d2e11ff74022dc1a26888da974c
CRs-Fixed: 2631424
2020-03-09 09:54:51 -07:00
Bapiraju Alla
4a668d9d24 qcacld-3.0: Add policy attribute to hdd_wiphy_vendor_commands
According to new changes in kernel 5.4 version onwards, driver has to
provide the policy for a NL command to ve verified against while
registering wiphy to the kernel.

To accommodate these changes, add policy for all the following
vendor commands that are being registered in the driver

QCA_NL80211_VENDOR_SUBCMD_GET_WAKE_REASON_STATS
QCA_NL80211_VENDOR_SUBCMD_OCB_SET_CONFIG
QCA_NL80211_VENDOR_SUBCMD_OCB_SET_UTC_TIME
QCA_NL80211_VENDOR_SUBCMD_OCB_START_TIMING_ADVERT
QCA_NL80211_VENDOR_SUBCMD_OCB_STOP_TIMING_ADVERT
QCA_NL80211_VENDOR_SUBCMD_OCB_GET_TSF_TIMER
QCA_NL80211_VENDOR_SUBCMD_DCC_GET_STATS
QCA_NL80211_VENDOR_SUBCMD_DCC_CLEAR_STATS
QCA_NL80211_VENDOR_SUBCMD_DCC_UPDATE_NDL
QCA_NL80211_VENDOR_SUBCMD_LINK_PROPERTIES

Change-Id: I1fa51d2fdf75a20098fe651769352d69d8fbd48c
CRs-Fixed: 2633726
2020-03-09 05:47:00 -07:00