Commit Graph

17885 Commits

Author SHA1 Message Date
Abhishek Ambure
0ceb5ca620 qcacld-3.0: Parse Channel Switch Wrapper IE in CSA event
“New channel width” information is not present in CSA event
received by host. When STA processes CSA beacon & CSA action frame
and moves to new channel, “New channel width” & "new channel center
frequencies" are not applied.

Firmware adds "Channel switch wrapper IE" information in CSA event and
sets "WMI_CSWRAP_IE_EXTENDED_PRESENT" bit in ies_present_flag.

Channel switch wrapper ie elemets are parsed to get Wide Bandwidth
Channel Switch information.

Change-Id: I095c49ae5a78cbfa8947e98cc39ec647aa7f3d27
CRs-Fixed: 2571406
2019-12-09 17:28:07 -08:00
nshrivas
8648abce5f Release 5.2.0.160I
Release 5.2.0.160I

Change-Id: Id8bc8031580a75b9b943538ecb4054a82a3ae824
CRs-Fixed: 774533
2019-12-09 15:58:22 -08:00
Abhishek Ambure
921dd733a6 Revert "qcacld-3.0: Update number of TIDs supported"
As part of commit id I024e03e4ac46f8118da544889de3ffd7cc67a1b4, host
has increased the no of TID'S(8 * no_of_peers_supported + num_vdevs +
2) to fix a firmware assert. This causes memory allocation issues on
some firmware branches. Due to this fix is reverted

Change-Id: I70c9436ce7dcf886d3228298931b9f9569d1fdb1
Crs-Fixed: 2581524
2019-12-09 15:58:22 -08:00
Liangwei Dong
c2a9453efa qcacld-3.0: Fix 6G Channel DFS issue
1. Convert channel to frequency and use frequency
Regulatory API to check DFS status.
2. Skip dfs check for 6G channels.

Change-Id: I54b6d6a3ad25c192af4eec4e7f43932bada728b5
CRs-Fixed: 2580568
2019-12-09 15:58:11 -08:00
Rajeev Kumar
c4d3a19760 qcacld-3.0: Use QDF API qdf_set_wake_up_idle in rx thread
To avoid conditional compilation inside function body use QDF API
qdf_set_wake_up_idle in RX thread startup api.

Change-Id: Ibe78fb19893c6a942cfbdde2f33684ea402af47b
CRs-Fixed: 2580958
2019-12-09 15:58:00 -08:00
nshrivas
62f45d06a9 Release 5.2.0.160H
Release 5.2.0.160H

Change-Id: I78da3ea4ab71b487069483b8ebace60a28968d9f
CRs-Fixed: 774533
2019-12-09 13:56:00 -08:00
Manikandan Mohan
a8a0a0d00e qcacld-3.0: Decouple NDI policy mgr update from active peer count
In multiple NDP peer case NDP indication might come for these
peers before first NDI confirm is sent for first peer. This
results in not updating policy manager session for NDI and
not creating datapath TX pool. Fix this issue by using one
time init flag for NDI instead of relying on peer count.

Change-Id: I812ff9be46580f3fb2da03ae7e1c1a36d205c38f
CRs-fixed: 2573935
2019-12-09 13:55:55 -08:00
nshrivas
5d2ce3a163 Release 5.2.0.160G
Release 5.2.0.160G

Change-Id: I3fc2ca4573056901a7f83e66fe814d30cabca31b
CRs-Fixed: 774533
2019-12-09 13:55:52 -08:00
bings
51eb74f9e8 qcacld-3.0: Lock all the entry of ch power info
If the entry of ch power info is not locked, free after use may be
happened. For example, csr_save_to_channel_power2_g_5_g does
csr_purge_channel_power, while csr_save_tx_power_to_cfg is called
in another thread and it calls csr_ll_peek_head then does some
operation on the entry.

Change-Id: If6cc4d8e0072e97288b60d3c72499b79c0a2bf67
CRs-Fixed: 2580147
2019-12-09 13:55:48 -08:00
nshrivas
cd42026062 Release 5.2.0.160F
Release 5.2.0.160F

Change-Id: I07345b35146e10f2f9082a25bc8ba8874be56d25
CRs-Fixed: 774533
2019-12-09 13:55:45 -08:00
Jianmin Zhu
327317eea2 qcacld-3.0: Allow STA+SAP SCC on LTE-coex channel
If STA is on LTE-coex channel,  start SAP on same band, to force
scc, it need select the LTE-coex channel too, or SAP failed to
start.

CRs-Fixed: 2580240
Change-Id: Ib05524711cb2475c3ca5ec7cf61a2b29c05658b6
2019-12-09 13:55:41 -08:00
Jianmin Zhu
61d502d966 qcacld-3.0: SAP CSA from 5G to 2G for modem N79
For SAP/P2P GO on 5G, when receive cmd to disable 5G band when
modem n79 band used, will move to 2G band via CSA.
1. If no active connection on 2G, select ch by safe list, or
channel 6.
2. If there is STA on 2G, force scc with it.
3. If there is SAP/GO on 2G, force scc with it.
4. Handle one race condition that if candidate is already
selected & FW has gone ahead with roaming or about to go ahead
when set_band comes, it will be complicated for FW to stop the
current roaming. Instead, host will check roam sync to make sure
the new AP is on 2G, or disconnect the AP.
5. If 2 SAP on 5G, move both to 2G and keep scc.

When Set band to enable 5G band again, restored all 5G SAP/Go..

Change-Id: I9b2b1ead3b4502022aeefc08359037457bb051f9
CRs-Fixed: 2580204
2019-12-09 13:54:16 -08:00
nshrivas
17a78b1f04 Release 5.2.0.160E
Release 5.2.0.160E

Change-Id: I72dbeea87f0257bce520da506bc786575ef695c4
CRs-Fixed: 774533
2019-12-06 14:43:36 -08:00
Abhinav Kumar
57925408b6 qcacld-3.0: Don't Process BEACON_REPORTING OP if Scan is on-going
As per SS’s WIPS requirements, if Host receives beacon recv start
command while processing scan request, HOST should not process
beacon reporting start cmd.

Next start command should get allow only after completion of scan.

After scan completion, supplicant should send a fresh start command
to start BEACON_REPORTING again.

Change-Id: I8b64665b6d019cfab76eefba4f7b11fa7dd2782e
CRs-Fixed: 2578642
2019-12-06 14:43:36 -08:00
nshrivas
4e25ab8406 Release 5.2.0.160D
Release 5.2.0.160D

Change-Id: I1d5fb3877c8c691e758a2100b14a9f628b27ee8b
CRs-Fixed: 774533
2019-12-06 10:00:42 -08:00
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
nshrivas
5a015f24b6 Release 5.2.0.160C
Release 5.2.0.160C

Change-Id: If53ef93ed9329604ccb50b4f6e70acc9667d8f77
CRs-Fixed: 774533
2019-12-06 08:40:17 -08:00
gaurank kathpalia
43ab6249f1 qcacld-3.0: Set freq present as false in sap_get_freq_list
Currently if the first channel if seen in the normalize
acs weight array is found, the driver does not set the
freq present as false back, which leads to further
disabling all frequencies for SAP which should not be
the expectation.

Fix is to set the freq present as false again for the
next frequency.

Change-Id: Iabeb40179a0ef02cb51441b1148eea79b82d0ebf
CRs-Fixed: 2578551
2019-12-06 08:40:16 -08:00
nshrivas
2fe5b2586b Release 5.2.0.160B
Release 5.2.0.160B

Change-Id: Iefed8620ba79b9a2075a20acdad9ef8b42a6b96c
CRs-Fixed: 774533
2019-12-06 07:15:37 -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
nshrivas
884cb04714 Release 5.2.0.160A
Release 5.2.0.160A

Change-Id: I6fa2151455f0fb8515e323beeeaa5a1ac3ef8403
CRs-Fixed: 774533
2019-12-06 05:57:27 -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
nshrivas
6acffae37f Release 5.2.0.160
Release 5.2.0.160

Change-Id: I78deedb7b3eac04c7fce55d3833a1ed552fd75b2
CRs-Fixed: 774533
2019-12-06 01:51:22 -08:00
Pragaspathi Thilagaraj
d54655fb56 qcacld-3.0: Validate number of requested EIDs in beacon request
If the requested info field in beacon report request is present,
the driver tries to allocate memory for the target beacon report
EIDs from the number of requested EIDs received from the frame.
In SLUB disabled builds, the qdf_mem_malloc function doesn't
validate if the size provided is 0 and returns the value
ZERO_SIZE_PTR(((void *)16)) for the pointer. When this pointer
is dereferenced, it causes invalid address dereference.

Since the number of requested EIDs is directly controlled by the
frame sent by AP, validate this value before using it to allocate
memory.

Change-Id: Icbac3e952de0d7ae3144e9b319f2c51ccdf93ac5
CRs-Fixed: 2571480
2019-12-06 01:51:22 -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
Yeshwanth Sriram Guntuka
33861b1adc qcacld-3.0: Cleanup local peer id from ol_txrx APIs
Local peer_id is being cleaned up across DP, HDD and PS/WMA.
So, any references to local peer_id/sta_id will be replaced
by peer mac address and all interactions between the layers
will be based on peer mac address.

Cleanup local peer id from ol_txrx APIs.

Change-Id: Ibc893fdf1f091f9fc423fca71eb96ee405373d99
CRs-Fixed: 2529036
2019-12-06 01:50:57 -08:00
Yeshwanth Sriram Guntuka
18fa38b0ca qcacld-3.0: Cleanup unused ol_txrx APIs [PEER_ID_PHASE2]
Local peer_id is being cleaned up across DP, HDD and PS/WMA.
So, any references to local peer_id/sta_id will be replaced
by peer mac address and all interactions between the layers
will be based on peer mac address.

Cleanup unusued ol_txrx APIs which are based on local peer id.

Change-Id: Ia6949796bf6109884ec066544c39183f934f7d72
CRs-Fixed: 2529014
2019-12-06 01:50:44 -08:00
nshrivas
3bcc6e71ed Release 5.2.0.159Z
Release 5.2.0.159Z

Change-Id: I8b32bf3857fe1b5c7d3fd5069580d9bf1b9e918b
CRs-Fixed: 774533
2019-12-05 23:54:07 -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
Arun Kumar Khandavalli
efe77ff948 qcacld-3.0: Don't use vdev_mlme object in the vdev delete response
As part of the new changes, vdev mlme object will be freed before
the vdev delete response is received from the firmware. Hence do
not use the vdev_mlme object in the vdev delete response handler.

Change-Id: Idec5775f6c7ac767baedd173a7bde0d3a358d0fe
CRs-Fixed: 2563381
2019-12-05 23:53:40 -08:00
Arun Kumar Khandavalli
2f865fdceb qcacld-3.0: Move to the psoc wakelock from vdev wakelock
Wakelock is system level lock not required to be taken
for every vdev, Hence move the wakelock to the psoc hirerachy.

Change-Id: I7b3145a1349c0028db2888c2816948d1d48714d1
CRs-Fixed: 2574498
2019-12-05 23:53:26 -08:00
Arun Kumar Khandavalli
7b6bee792a qcacld-3.0: move to the psoc mlme timers
Move the vdev response timer from the vdev object structure
to the psoc mlme structure.

Change-Id: I1df253331ddbd5538066ee93bc3e45b703057818
CRs-Fixed: 2563383
2019-12-05 23:53:10 -08:00
nshrivas
5a1d9e4d75 Release 5.2.0.159Y
Release 5.2.0.159Y

Change-Id: Id612dd4dd46e333dcbb7781e9a05e81bb8f51bb3
CRs-Fixed: 774533
2019-12-05 18:05:10 -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
nshrivas
6387417f47 Release 5.2.0.159X
Release 5.2.0.159X

Change-Id: I7fad4d76ac3921e639d5fd113c642c63b314e37a
CRs-Fixed: 774533
2019-12-05 16:39:37 -08:00
Abhishek Singh
fe26a582f9 qcacld-3.0: Handle the error action frames in mgmt tx
For Action frame which are not handled, the resp is sent back to the
source without change, except that MSB of the Category set to 1.
so driver may get action frame with WEP BIT set and category with
MSB set.

Due to the error category, driver is not able to determine if its
a RMF frame and thus doesn't add the MIC header and data length to
the frame.

Now with WEP bit set and MIC header and MIC data length not
added to the frame, the firmware assert due to invalid frame length.

Thus reset the WEP bit in the frames sent by mgmt tx path and add
WEP only if keys are set and frame is RMF. Also ignore MSB to get
the actual action category of the action frame.

Change-Id: I2a2918dbb15979e4184dbf8489e5c3ade15d0e6f
CRs-Fixed: 2580233
2019-12-05 16:39:36 -08:00
bings
a06b8ce484 qcacld-3.0: fix buffer overflow in psessionEntry->pSchBeaconFrameBegin
psessionEntry->pSchBeaconFrameBegin is allocated with fix length
SCH_MAX_BEACON_SIZE. Do not copy the value to the buffer exceeding
psessionEntry->pSchBeaconFrameBegin.

Change-Id: I539692c01753b991a963b0416177cf5b474cfdf8
CRs-Fixed: 2577689
2019-12-05 16:39:16 -08:00
Yeshwanth Sriram Guntuka
eebaeb7e0b qcacld-3.0: Update timestamp in skb on receiving frag indication
Update timestamp in skb as part of rx frag indication
handler.

Change-Id: I9f2217f12aa4006db36f1a4d123287ec863ffdbe
CRs-Fixed: 2575914
2019-12-05 16:39:00 -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
nshrivas
7a05e6266b Release 5.2.0.159W
Release 5.2.0.159W

Change-Id: Id16bad761ee2cd466f09150e1d034cb2e4a30859
CRs-Fixed: 774533
2019-12-05 15:16:26 -08:00
Will Huang
e38ae0f758 qcacld-3.0: Use channel frequency directly stead of channel number
Use channel frequency directly in function csr_get_dot11_mode() and
csr_neighbor_roam_preauth_rsp_handler().

Change-Id: I2dac911fac1d1c154a3d0f5465cfef3d85e81b85
CRs-Fixed: 2568346
2019-12-05 15:16:26 -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
nshrivas
c4ad938f4b Release 5.2.0.159V
Release 5.2.0.159V

Change-Id: Ie0360cbb92493984c8948f26b8460315ef2707fc
CRs-Fixed: 774533
2019-12-05 04:20:42 -08:00
Abhishek Ambure
6523bc72c9 qcacld-3.0: Clear Static channel list in fw for SETROAMSCANCONTROL 0
In the present implementation, it is observed that "SETROAMSCANCONTROL 0"
command is not clearing STATIC channels in the firmware for ROAM scan list.

So to clear STATIC channels configured for ROAM scan and set dynamically
added ROAM scan channels host sends two RSO commands to Firmware.

In the first RSO command STATIC channel list is cleared and second RSO
command will add dynamically added ROAM scan channels to ROAM scan list
in firmware.

Change-Id: Ic359326032c5776540c773a51d7531c0cfcd7bdc
CRs-Fixed: 2571119
2019-12-05 04:20:42 -08:00
nshrivas
3bd1eddb1d Release 5.2.0.159U
Release 5.2.0.159U

Change-Id: I2b4a43651a39de93d6af0cb3c3ee105a4a83c465
CRs-Fixed: 774533
2019-12-04 23:07:18 -08:00
bings
644362acb7 qcacld-3.0: Remove CONFIG_QCA_IBSS_SUPPORT for Rome
Remove CONFIG_QCA_IBSS_SUPPORT for Rome device

Change-Id: Ief8e538469014c0034e5a8fdf8d25939fc2c4362
CRs-Fixed: 2556723
2019-12-04 23:07:18 -08:00
nshrivas
9bc2fcede9 Release 5.2.0.159T
Release 5.2.0.159T

Change-Id: I0abfffaddeb8aaaba8d3c705c41f7dec904b6c92
CRs-Fixed: 774533
2019-12-04 14:40:31 -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
nshrivas
111f5602b3 Release 5.2.0.159S
Release 5.2.0.159S

Change-Id: Id82305ec82404dda0ceedfa2767e4758c846a061
CRs-Fixed: 774533
2019-12-04 09:30:44 -08:00