Commit Graph

5551 Commits

Author SHA1 Message Date
Rajeev Kumar
eed6e8f848 qcacld-3.0: Rate limit suspend not allowed log for test modes
In FTM and monitor test modes cfg80211 suspend op is not allowed.
If OS tries to do frequent suspend in FTM or monitor mode it can
lead to excessive console logging and hence to avoid excessive
console logging and its side effects rate limit the console
logging for FTM and monitor test modes.

Change-Id: I8d51db21f861f038f0538865f4c0634efd983f8c
CRs-Fixed: 2580927
2019-12-06 10:00:41 -08:00
Will Huang
136ca8d298 qcacld-3.0: Adjust tx retries stats on some platforms
On some platforms with TQM, target don't know packet number of
successfully transmitted after more than one retransmission attempt,
and after TQM retry, host data path will be notified.

Adjust tx retries stats number from data path, and indicate to upper
layer when query by wlan_hdd_cfg80211_get_station() on these platforms,
other platforms keep tx retries from wmi vdev stats.

Change-Id: Ie4b9a9f3b9241a59452e3f21f68757f3638b1a19
CRs-Fixed: 2574368
2019-12-06 07:15:37 -08:00
Yue Ma
a784969381 qcacld-3.0: Clean up channel number usage for SAP APIs
For hdd_hostapd_channel_allow_suspend() and hdd_hostapd_
channel_prevent_suspend() APIs, use channel frequency
instead of channel number.

Change-Id: I05a3e60918f1b40d2cbfbdb78038540fc4a87184
CRs-fixed: 2565731
2019-12-06 05:57:25 -08:00
gaurank kathpalia
8197e355fa qcacld-3.0: Peer ID cleanup in LIM, HDD and WMA
Cleanup peer id from the callers of cdp APIs from
where the peer ID was passed, and use mac address
instead to identify the STA.

Change-Id: Ie6dcae77e959439a71c11b1a2fa0daddcaa6e719
CRs-Fixed: 2529822
2019-12-06 01:51:09 -08:00
Paul Zhang
faa929c2ce qcacld-3.0: Add support for timer based to capture tsf
Add configuration CONFIG_WLAN_SYNC_TSF_TIMER and macro
WLAN_FEATURE_TSF_TIMER_SYNC to capture and get the tsf
from firmware.

Change-Id: I62298791cbafed84f1d23f1a2ecb5c2835dcd137
CRs-Fixed: 2564860
2019-12-05 23:54:07 -08:00
Arun Kumar Khandavalli
a4cedce6e0 qcacld-3.0: Flush the bandwidth work properly in shutdown
In case interface timer has expired and modules have been stopped
and there is an SSR the bus bandwidth work is not properly destroyed.

Destroy the work before checking for status of modules state since
the work will be re-initialized.

Change-Id: Ie3b8f7d6d0fe1261f9f3c412e933748fb7637ca7
CRs-Fixed: 2573341
2019-12-05 23:53:53 -08:00
Alok Kumar
68127f6594 qcacld-3.0: Affine RX thread to big cluster during uplink
During uplink traffic, affine RX thread to big cluster if
throughput is high and rx_packet counts above threshold.

Change-Id: I34034e79ee07c229966a279919acc11d1942b890
CRs-Fixed: 2557745
2019-12-05 18:05:10 -08:00
Bala Venkatesh
81281077ab qcacld-3.0: Remove the INI force_rsne_override
Currently, RSNE if given from userspace is overrided if the Ini
force_rsne_override is disabled as a security. But there
are sufficient checks already in kernel to validatethe RSNE
given by userspace. Hence this INI is no longer required.

Change-Id: Ifcc9298dcfa035d05e9ee4fb78a4fa2c9f249461
CRs-Fixed: 2573540
2019-12-05 16:38:44 -08:00
Karthik Kantamneni
0b95f9ec80 qcacld-3.0: Allow GET_RING_DATA vendor command without NETDEV dependency
Currently GET_RING_DATA vendor command is dependent on NETDEV,
as vendor command is wiphy command which is not dependent on
NETDEV allow the flush logs command irrespective of NETDEV.

Change-Id: I8e0474ca94645685e7f1969ad668692a44f96c23
2019-12-05 15:16:11 -08:00
Kiran Kumar Lokere
571f0d3e65 qcacld-3.0: Add 80+80 restricted BW support
Add support for restricted 80+80 bandwidth in STA and SAP modes.

Change-Id: Id1a61b853584fa84db3bb8f0f2aaf68eecabeaac
CRs-Fixed: 2570023
2019-12-04 14:40:31 -08:00
Vevek Venkatesan
b4016095ae qcacld-3.0: remove control path handles from cdp ops
Currently control path handles of pdev/vdev/peer
are given as arguments to cdp ops, which are
directly accessed by dp layer. This can cause a
race-condition in access of the handle if it
has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the psoc handle which can be accessed all over
to retrieve objmgr_pdev from psoc.

- rx_mic_error
- txrx_pdev_attach
- txrx_vdev_attach
- txrx_peer_create

Change-Id: Iaec8b913810f9035faa0010117cdff19bdded37f
CRs-Fixed: 2541431
2019-12-04 07:43:42 -08:00
gaurank kathpalia
318006772b qcacld-3.0: Verify the channel and BW info in monitor mode
Currently the monitor mode does not check the chan
validity and BW validity before starting the monitor
mode vdev which could result in invalid configuration
given to FW and thus further can lead to assert.
Eg. If the command comes for an invalid channel, or
suppose 160 MHZ and the device supports 80 MHZ only
then it can lead to assert.

Fix is to verify the channel and BW info and reject
the command if found invalid.

Change-Id: Iaf9f06f8d4b943bd1e8db5c22ea155a4fe3e61a8
CRs-Fixed: 2572152
2019-12-03 22:48:17 -08:00
Sourav Mohapatra
fab026a99a qcacld-3.0: Send RTT capability for STA mode
Based on the ini gfine_time_meas_cap, send enable/disable value to the
firmware for STA INITIATOR/RESPONDER mode using VDEV set param.

Change-Id: Idd4142e13061cd1af992bda88d0a0b81edc42fef
CRs-Fixed: 2574050
2019-12-03 13:10:29 -08:00
Sourav Mohapatra
b1c97cc483 qcacld-3.0: Change logging priority for offload logs
Currently in the driver, the checks performed before NS and ARP offload
to determine whether they are necessary or not, resulted in prints to
the kernel logs.

Change the above logging level to debug.

Change-Id: Ib039ee51d2763ab2a1340d2a4b17a85c530f68fa
CRs-Fixed: 2578328
2019-12-03 08:05:49 -08:00
Abhinav Kumar
d453c18981 qcacld-3.0: Enable roaming based on conn status in case of STA + STA
In case of STA + STA, If first STA (say STA1) is in connected state
and second STA (say STA2) has multiple candidate APs for connection,
STA2 tries connection with each APs one by one till either
successful a connection or no AP left to initiate connection.

Currently, If STA2 initiate connection with first candidate, and if
it fails, STA2 enables roaming on other interfaces (here STA1)
irrespective of connection status. This results, after connection
failure of STA2 with first AP, STA1 gets permission to start roaming.
So there could be a possibility that STA1 started roaming on VDEV0
and STA2 started connection with next AP on VDEV1 which results in
two VDEV start/re-start at the same time in FW.

Fix is to allow roaming on other interfaces only after if association
is successful or all possible candidates APs are tried by current
interface.

Change-Id: I5b765d5a8ffc10ad2903d746537e41501890ca8b
CRs-Fixed: 2577368
2019-12-03 01:15:00 -08:00
hqu
bcd0a8f349 qcacld-3.0: Clear wlan_reg_freq_to_chan
Clear wlan_reg_freq_to_chan in is_dfs_unsafe_extra_band_chan,
refine unsafe_channel_list for hdd_context to store frequency.

Change-Id: I48a75e053228b202122633a32e750f446f839ea3
CRs-Fixed: 2574028
2019-12-02 12:38:55 -08:00
Sravan Goud
90c34e58ff qcacld-3.0: Avoid 64 bit division for 32bit targets compatibility
In function wlan_hdd_rx_rpm_mark_last_busy math division is performed
on unsingned 64bit integer. This leads to driver load failure on 32
bit machine targets. So avoid the math division for 64bit integer.

Change-Id: I967a0a64b421b47113821e1af5379cdd0125a34d
CRs-Fixed: 2576125
2019-12-01 22:00:50 -08:00
Nirav Shah
fb9b1df409 qcacld-3.0: Add logic to bundle packets for HL
Add logic to queue and bundle packets before
giving it to scheduler to ensure predictive HTC
bundling for improvement in TX throughput.

Change-Id: Ib00135ca59b4c5f0f05edc93dca115bf17174a36
CRs-Fixed: 2561671
2019-12-01 17:40:55 -08:00
Arun Kumar Khandavalli
0c9d5017c3 qcacld-3.0: Initialize the stop bss work in the adapter
In the latest kernels asserts if there is any unitialized work
gets flushed, stop_bss work is presently getting flushed from
multiple places and it is initialized only when there is no
channel to start the sap.

Fix it by intializing the work when the adapter is created.

Change-Id: I232247c2389f865471c7c2175bb93e254b29fc29
CRs-Fixed: 2565974
2019-12-01 17:40:28 -08:00
Subrat Dash
9ba2ff8162 qcacld-3.0: Add support to restart TSF cap when traffic resumes
When the chip is in power save mode, it fails to report valid
TSF in the WMI_VDEV_TSF_REPORT_EVENT_ID. Even the retry may fail.

Fix this by restarting the capture when the Tx/Rx resumes.

Change-Id: Ibd0aa9275583ba40e5f53a11910960351bb76e7d
2019-12-01 17:40:14 -08:00
tinlin
9abd17fe45 qcacld-3.0: Add debugfs for MIB statistics
Define debugfs node in driver to
export MIB counters to user app.

Define macro WLAN_FEATURE_MIB_STATS for this
feature that gets MIB statistics from fw.

Change-Id: Icae8826309094d17e8f6d4503f617a3a7116d3c9
CRs-Fixed: 2548241
2019-12-01 17:39:59 -08:00
Srinivas Dasari
b24bdd3f73 qcacld-3.0: Consider NAN enabling also as connection in progress
There is a race condition while handling the below scenario,
1. NAN enable request is received from framework.
2. Policy mgr opportunistic timer expired and set hw mode
   initiated to Single MAC mode in scheduler thread at
   the same time

As the opportunistic timer handler doesn't have any info if
NAN enable initiated in DBS mode, it's configuring the hw
mode to Single Mac Mode just before NAN enable request is sent
to firmware. So the NAN enable request is sent to firmware in
Single Mac Mode which is not allowed by firmware.

NAN enable/disable is also similar to connection in progress
status in case of STA. So provide NAN enable/disable status
through hdd_is_connection_in_progress() to the opportunistic
timer handler. Opportunistic timer handler restarts the timer as
connection(NAN enable/disable) is in progress.

Also set hw_mode_change_in_progress before checking the
connection progress status. This is to avoid a possible race in
the below scenario,
1. NAN-enable sets the state but scheduler thread had read the
   state just before that
2. NAN-enable read the hw_mode_change_in_progress just
   before it gets set by scheduler thread.

Change-Id: I1a184c84520deb3f6ad1ec010a0fdefda96a5364
CRs-Fixed: 2566841
2019-12-01 17:39:45 -08:00
Abhinav Kumar
8fb17305d1 qcacld-3.0: Make call to cfg80211_ap_stopped() conditional
cfg80211_ap_stopped() not supported anymore for kernel 5.4.
changes added to protect call to cfg80211_ap_stopped under kernel
version compilation flag.This will allow the call to be invoked for
MSM kernels which have been patched, but not for any other kernels,
including the GKI kernels.

Change-Id: I05470469eb82da174e5b9c46f7d19fc77aaca85d
CRs-Fixed: 2558981
2019-11-29 06:16:32 -08:00
Ajit Pal Singh
f9e06bcb45 qcacld-3.0: DP: HL: Use netif_rx_ni to hand over packets
On HL systems use netif_rx_ni to hand over packets to network stack.

Change-Id: I14f9e50d74a6aca44c74e97c07372d391ada9aa9
CRs-Fixed: 2574352
2019-11-27 05:37:46 -08:00
Saket Jha
a842ded897 qcacld-3.0: ndo_select_queue support for 5.4 kernel
In the 5.4 Linux kernel, the ndo_select_queue function signature has
changed. Add support for it under the kernel version compilation flag.

Change-Id: I7298f27ada14c0d96c19f5168a20971ad760fd77
CRs-Fixed: 2558984
2019-11-27 04:17:03 -08:00
Min Liu
71abe09ede qcacld-3.0: Return error when invalid channel is set for SAP
For the vendor command QCA_NL80211_VENDOR_SUBCMD_SET_SAP_CONFIG,
if invalid channel is specified, wlan driver return success.
It should return error for such case.

Change-Id: Ic5dbfaf04a41ee75b97ecba52a577e9ebf78dc05
CRs-Fixed: 2573244
2019-11-26 23:19:15 -08:00
Liangwei Dong
d4a91a6f12 qcacld-3.0: Refine wma_get_caps_for_phyidx_hwmode
The current function doesn't handle "hw_mode" parameter.
And if band is specified the function needs to find the
correct "phy cap" in mac_phy_cap list.
The "supported_bands" can be a bit mask of
(WLAN_2G_CAPABILITY | WLAN_5G_CAPABILITY), use "&" to find
the phy cap of requested band.
Remove unused API wma_get_phyid_for_given_band.

Change-Id: I4b120d681b820e2a6e2b82f33d67fbcf6136af09
CRs-Fixed: 2571400
2019-11-26 22:00:17 -08:00
Subrat Dash
42155f64d6 qcacld-3.0: Add support to retry gpio sync for capturing tsf
When the chip is power save mode it misses the gpio strobe
from the host platform. The TSF is not latched is not latched
in this case. As a result the reported TSF in the
WMI_VDEV_TSF_REPORT_EVENTID is not correct.

Fix this by adding a retry mechnism when the reported TSF is not proper.

Change-Id: Ica2d5c796e9d021b65e898ee3defe88d62183911
2019-11-26 11:44:50 -08:00
Pragaspathi Thilagaraj
c051588e64 qcacld-3.0: Add support for RSNXE IE for SAE
SAE key derivation requires use of a secret element, PWE. This
element is deterministically discovered by repeatedly hashing
the password with some additional information until the
resulting hash is the abscissa of a point on the elliptic curve
(for ECC) or by exponentiating the hash digest to a constant to
produce an element (for FFC). This "hunting-and-pecking" loop
method is prone to side channel attacks.

To avoid this, a direct hashing to element technique in SAE is
introduced in IEEE P802.11-REVmd/D3.0. Support new RSNX IEEE
as part of the hash to element PWE derivation. The user space
sends the RSNX IE in the connect request.

Add support to save RSNXE from connect request and pack this IE
over SAE assoc request. Also send the IE in assoc IEs in RSO
commands.

Change-Id: I8eb756840400753794b1b80befe3a20f7d7c7705
CRs-Fixed: 2569596
2019-11-26 07:10:17 -08:00
Sourav Mohapatra
2a67b0ed24 qcacld-3.0: Add driver command to request ANI level
The ANI level determines how well the device is coping with interference
in the wireless environment. Add support in the driver to query the ANI
level from the firmware and populate it for userspace entities to use.

Change-Id: I54934f670aa11737e11eca4d64e12f9dffb4f430
CRs-Fixed: 2554674
2019-11-26 05:30:13 -08:00
Abhinav Kumar
335074e703 qcacld-3.0: Set wdev for vendor event BEACON_REPORTING_INDEX
Currently host sends wdev as NULL to cfg80211_vendor_event_alloc,
this allows userspace to process nl_cmd for
QCA_NL80211_VENDOR_SUBCMD_BEACON_REPORTING_INDEX event with P2P
interface instead of WLAN.

Set wdev with proper value to avoid processing nl_cmd with P2P
interface by userspace.

Change-Id: If0b99efdc76c1f89b6b07ee72edc6c5e2994a90c
CRs-Fixed: 2568776
2019-11-26 05:29:47 -08:00
Chaoli Zhou
a8ed32b5ed qcacld-3.0: Support coex parameter set to fw although chainmask set failure
In the adapter start phase, if meet chainmask configure
failure, and it should not block other parameters set
to fw, like some coex parameters that still needed.

Change-Id: I3c47ec233efc774e70205b27d2e0b5c6815bfe82
CRs-Fixed: 2572001
2019-11-26 05:29:31 -08:00
Alok Kumar
939ca50cf2 qcacld-3.0: Update Datastall callbacks definition
Update definitions for datastall callback which posts
DataStall Events.

Change-Id: I1aadb438afeafe1f13114b1472b2280f0f713db4
CRs-Fixed: 2563194
2019-11-26 02:14:27 -08:00
Venkata Sharath Chandra Manchala
06f1f1225b qcacld-3.0: Enable Force wake
Enable Force wake feature through Kbuild
to access address range greater than BAR+4K
at runtime.

Change-Id: Ibe3c3b9b765c256493b1d5f9258e462760d45dc6
CRs-Fixed: 2557978
2019-11-26 02:13:59 -08:00
Wu Gao
6fc2b727cc qcacld-3.0: Register spectral to DBR in hdd_wlan_start_modules
Since it will takes long time to register spectral to Direct Buffer RX
component, and it will affect wmi ready event handling in pdev open.
So register spectral to dbr after wmi ready event handled.

Change-Id: I51844a708ed69144618e5b0846747601d4d96a9d
CRs-Fixed: 2560822
2019-11-25 16:14:41 -08:00
Min Liu
818395d83e qcacld-3.0: Fix race condition when disconnecting
Fix one more scenario which is not covered by the change
Ib6a30057469d60efcc905d97b5234ea5a0e097a8

For some timing issue, HDD conn state is set to disconnecting
after hdd_association_completion_handler is called. So
hddDisconInProgress is not set and disconnect_comp_var will not
be completed in hdd_association_completion_handler.

To fix this issue, QDF_STATUS_CMD_NOT_QUEUED should be set only
when scan for ssid is in progress, with pSession->scan_info.profile
we can check if scan for ssid is in progress. So set
QDF_STATUS_CMD_NOT_QUEUED only when pSession->scan_info.profile
is set.

Also if disconnect from LIM was already in progress (i.e.
csr_is_conn_state_connected and
csr_is_roam_command_waiting_for_session are false and
pSession->scan_info.profile is set), return failure and wait for
WLAN_WAIT_DISCONNECT_ALREADY_IN_PROGRESS ms for the disconnect
to be completed.

Change-Id: Ib490021775a39614646f8e518860c878cc0fdaae
CRs-Fixed: 2564992
2019-11-25 03:56:58 -08:00
Alan Chen
f1096fd358 qcacld-3.0: Replace calls to get_monotonic_boottime() with qdf wrapper
Some functions have been calling get_monotonic_bootime() directly, which
is now obsolete, having been replaced with ktime_get_boottime(). Change
calls to get_monotonic_boottime() with qdf_get_monotonic_boottime(),
which has now been updated to call ktime_get_boottime().

Change-Id: I9ce4bf2104077b6aacf841416997acb6f64b2841
CRs-Fixed: 2564544
2019-11-24 22:34:14 -08:00
gaurank kathpalia
fa8b2e18be qcacld-3.0: Remove the logic to move ACS to pending
Currently in SAP+SAP scenario the second ACS request
is moved to pending and is completed when the first
ACS is completed, but since FW serializes the scan
so the reuest for second ACS if not kept in pending
and sent down to FW would automatically be serialized
which would reduce latency in second SAP bringup.

Remove the pending work logic and implementation
to improve latency in second ACS scan.

Change-Id: I439398b406e9371a8e443f5409bd3f25b3062501
CRs-Fixed: 2570259
2019-11-22 08:32:12 -08:00
Abhishek Singh
5a2c42f803 qcacld-3.0: Replace smeSessionId with vdevid in SME, HDD and WMA
Replace smeSessionId with vdevid in SME, HDD and WMA files.

Change-Id: I3b2f5dd08dac2d107f89762cd763a032b4867d16
CRs-Fixed: 2569192
2019-11-22 07:12:28 -08:00
Alan Chen
c255b80855 qcacld-3.0: Use hdd_adapter_iterate() in hdd_is_connection_in_progress()
The function hdd_is_connection_in_progress() currently uses
hdd_for_each_adapter(), which is not working properly, resulting in it
checking for the NDI adapter only in an infinite loop. To solve this,
switch to using the newly created hdd_adapter_iterate() and its callback
function.

Change-Id: Ib6176ee268a3bf63ba9d29387d485cea6fc6c4fd
CRs-Fixed: 2561558
2019-11-22 05:35:45 -08:00
Sourav Mohapatra
60c3b2b014 qcacld-3.0: Add checks to NS and ARP offload requests
Currently the offloading of the NS and ARP to firmware is inefficient;
redundant caching is performed even if offload is not sent. This causes
wastage of resources and increases code complexity.

Introduce checks before caching and offload to ensure that the mentioned
inefficiencies are taken care of.

Change-Id: I6013810e1e08adb15c801f4fc21e1b50371bacda
CRs-Fixed: 2569763
2019-11-22 05:35:35 -08:00
Liangwei Dong
4547b89cb6 qcacld-3.0: Fix VHT IE Missing for 2G SAP
Use "CDS_BAND_2GHZ" to get 2G vht phy capabilities.
Also use "total_mac_phy_cnt" to enumerate mac_phy_cap
list to get correct 2G phy caps.

Change-Id: Ibced9b07370932b65a35f43aa579b3c28ea6e23b
CRs-Fixed: 2568539
2019-11-22 04:12:00 -08:00
Srinivas Dasari
b6cf30725e qcacld-3.0: Provide SNR value as SIGNAL_INFO to userspace for SAP
Currently, userspace is expecting SNR value through
NL80211_STA_INFO_SIGNAL for a disconnected client of SAP. But
the driver sends RSSI value by doing noise floor to the SNR value
received from firmware. Convert this back to SNR and provide to
userspace as per the definition of NL80211_STA_INFO_SIGNAL 
and to be in sync with the existing implementation of userspace.

Change-Id: Ia360424a9d44e48fae5a85cf0d2c577e92cd93be
CRs-Fixed: 2552542
2019-11-22 02:21:44 -08:00
Jingxiang Ge
645300aca8 qcacld-3.0: Fix hdd_txrx_hist NULL in ftm mode
hdd_txrx_hist doesn't init when insmod in con_mode 5,
after change back to mission mode, it will cause null
memory access in hdd_bus_bw_work_handler.

test step:
  1  insmod wlan.ko con_mode=5
  2  echo "0" > con_mode
  3  connect with AP
  4  issue happens
Move wlan_hdd_init_tx_rx_histogram to start module.

Change-Id: I01b94b9461a87c29cc03b7e3c841bbda6e565188
CRs-Fixed: 2567165
2019-11-22 00:27:13 -08:00
Arun Kumar Khandavalli
4f6a5bd519 qcacld-3.0: Send vdev create to fw from object create notification
Send vdev create to firmware when the mlme vdev create handler
is invoked as part of the vdev object create.

Change-Id: Ibba02f6b5885d7b3a62529ef51768f520395513e
CRs-Fixed: 2555943
2019-11-21 09:13:20 -08:00
Arun Kumar Khandavalli
bdc713cfde qcacld-3.0: Deregister the sta if stop bss fails
De-register the broadcast/connected sta if the stop_bss fails, so that
all the resources for the sta is properly freed.

Change-Id: Ib2462a98ca1ad561e39c3f69fa3f982b68d0fe63
CRs-Fixed: 2568668
2019-11-21 09:13:12 -08:00
Vevek Venkatesan
29076ec1d8 qcacld-3.0: cdp: Converge cdp_ipa_ops
Currently cdp ops are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev_id or vdev_id or peer mac address,
which will be used to get the respective handles,
and hence avoiding the unwanted access of the
handles if it has been deleted.

- ipa_get_resource
- ipa_set_doorbell_paddr
- ipa_set_active
- ipa_register_op_cb
- ipa_get_stat
- ipa_tx_data_frame
- ipa_uc_get_share_stats
- ipa_uc_set_quota
- ipa_enable_autonomy
- ipa_disable_autonomy
- ipa_setup
- ipa_enable_pipes
- ipa_disable_pipes
- ipa_rx_intrabss_fwd

Change-Id: I678d7a7de7132417ff6051b0fd6da5d14426d21e
CRs-Fixed: 2540861
2019-11-21 06:12:04 -08:00
Rakesh Pillai
d2e5385d62 qcacld-3.0: cdp: Convergence of cdp_bus_ops
Currently the cdp apis are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev/vdev id or peer mac address, which will be
used to get the respective handles, and hence
avoiding the unwanted access of the handles if
it has been deleted.

Converged bus_ops
- bus_suspend
- bus_resume

CRs-Fixed: 2539749
Change-Id: I7f57c09fe4620f90c5cfab781635f6f0ada08ec5
2019-11-21 06:11:52 -08:00
Rakesh Pillai
6a36b0a26a qcacld-3.0: cdp: Convergence of cdp misc ops
Currently the cdp apis are given pdev/vdev/peer
handle as its arguments, which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.

Hence as a part of cdp convergence, pass only
the pdev/vdev id or peer mac address, which will be
used to get the respective handles, and hence
avoiding the unwanted access of the handles if
it has been deleted.

Converged misc_ops
- tx_non_std
- get_opmode
- get_tx_ack_stats
- set_ibss_vdev_heart_beat_timer
- hl_tdls_flag_reset
- set_wisa_mode
- txrx_post_data_stall_event
- update_mac_id
- pkt_log_init
- pkt_log_con_service
- get_num_rx_contexts
- set_wmm_param
- flush_rx_frames
- bad_peer_txctl_set_setting
- bad_peer_txctl_update_threshold
- txrx_data_stall_cb_register
- txrx_data_stall_cb_deregister
- vdev_set_driver_del_ack_enable
- get_intra_bss_fwd_pkts_count
- mark_first_wakeup_packet
- register_pktdump_cb
- unregister_pktdump_cb
- pdev_reset_driver_del_ack
- runtime_suspend
- runtime_resume

CRs-Fixed: 2539735
Change-Id: I2baad09fde29d439ae2099e01e4e68ed6b94196d
2019-11-21 06:11:43 -08:00
Ashish Kumar Dhanotiya
ee0332a413 qcacld-3.0: Update regulatory configs before use
Currently regulatory comnfigs are getting updated from wiphy
init inside regulatory init api which is too late in the driver
init sequence. There are some apis in driver init sequence which
uses these ini configs before wiphy init, one such example
is scm_11d_cc_db_init. since the ini configs are not populated
this may lead to undefined behaviour.

To resolve above issue, populate ini configs at the same place
where all other components inis are getting populated.

Change-Id: I9cb2f069fba3eb76a2c8f7285b6d371cf5fa8de4
CRs-Fixed: 2570148
2019-11-21 04:41:29 -08:00