Commit Graph

17903 Commits

Author SHA1 Message Date
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
gaurank kathpalia
4c443a26bc qcacld-3.0: Fill seg1 for 160 mhz BW in ACS result
Currently the driver does not fill the seg1 frequency
in case of 160 mhz which is used for SAP startup.

Fix is to Fill seg1 for 160 mhz BW in ACS result

Change-Id: Iffc61581290adf97d83e10b6a717c50afb750687
CRs-Fixed: 2575631
2019-12-04 09:30:44 -08:00
nshrivas
fc01042e5e Release 5.2.0.159R
Release 5.2.0.159R

Change-Id: Iace4d90667a09bc69269ec25d8adb35b092f764b
CRs-Fixed: 774533
2019-12-04 07:43:42 -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
nshrivas
6693bf72b0 Release 5.2.0.159Q
Release 5.2.0.159Q

Change-Id: I7bf20f6d39be81b4ccd695d5fd6703dc06ab8717
CRs-Fixed: 774533
2019-12-04 03:36:51 -08:00
Pragaspathi Thilagaraj
f37e5e7637 qcacld-3.0: Don't modify BTM capability in the extended capabilities
Currently the host driver checks if the BTM offload is enabled
via ini configuration and sets the BTM enabled bit of the
extended capabilities if BTM offload is enabled. The supplicant
decides if BTM is needed to be enabled or disabled based on the
PMF capability of the AP, since the STA is MBO certified.

When driver sets the BTM capability based on the btm_offload ini,
even if the AP supports MBO and doesn't advertise PMF, BTM is
honored by the MBO certified STA. This violates the MBO spec
that PMF is mandatory for MBO. So with the BTM capability
controlled by userspace, the BTM capability will be advertised
to MBO AP only if PMF is advertised as required for that AP.

Don't modify the BTM capability, and advertise it as it is
provided by the userspace. Firmware will drop the packet if
BTM capability is not advertised during initial connection.

Change-Id: I55b4e46a44011ce7a1982244df17ea32632f7ff3
CRs-Fixed: 2568311
2019-12-04 03:36:51 -08:00
nshrivas
f47fbb3664 Release 5.2.0.159P
Release 5.2.0.159P

Change-Id: I34a09329ba1220527edd53bd96b37fc27f5e180e
CRs-Fixed: 774533
2019-12-04 00:09:48 -08:00
Amruta Kulkarni
59f6350e8b qcacld-3.0: Enhance logic for dwell time 2g
With this change,in concurrent mode
(SAP on 5g and peer connected + STA Scan ongoing),
active dwell time 2g is not reset to 0.

Change-Id: I20ace5561137a0dd8def497e3bbbbcbeede80ea5
CRs-Fixed: 2572918
2019-12-04 00:09:47 -08:00
nshrivas
0808d3145b Release 5.2.0.159O
Release 5.2.0.159O

Change-Id: I200049a916b62114ba80245c00c8e81c684ac96e
CRs-Fixed: 774533
2019-12-03 22:48:17 -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
nshrivas
7df254adfb Release 5.2.0.159N
Release 5.2.0.159N

Change-Id: Icec46a29a621ba8564e937d82e88a23fcef3e3fd
CRs-Fixed: 774533
2019-12-03 20:56:15 -08:00
Vevek Venkatesan
959ac03d07 qcacld-3.0: setup IPA sys pipes if wlan_ipa_wdi_init succeeds
At present, IPA sys pipes setup done before wlan_ipa_wdi_init,
so chances for IPA uC is not yet up and running. As wdi init
succeeds only if uC is up and running, setting up IPA sys pipes
after wlan_ipa_wdi_init succeeds.

Change-Id: I7dcae49db0b0a2114908284379096f39e6f16a50
CRs-Fixed: 2573929
2019-12-03 20:56:15 -08:00
nshrivas
7988b98d82 Release 5.2.0.159M
Release 5.2.0.159M

Change-Id: I682013206e8ecbdb5a771655ac3ba846f510380e
CRs-Fixed: 774533
2019-12-03 15:00:25 -08:00
gaurank kathpalia
71562069e1 qcacld-3.0: Fix combined weight issue in ACS
Currently the driver calculates the best channel
amoung the given spectrum and uses logic to select
best frequency amoung the BW members, but the logic
to maximize the weight before selecting the min
weight is wrong, and must be done after the selection
of the minimum weight frequency.

Fix is to maximize the weight after the minimum weight
channel is selected.

Change-Id: Ie196462fbcc4215e6eb655168d07305110ff0ee7
CRs-Fixed: 2578582
2019-12-03 15:00:24 -08:00
nshrivas
91f22a0bb7 Release 5.2.0.159L
Release 5.2.0.159L

Change-Id: Ice29b711c963b89255f84139b1a6f4a01bc0b5ca
CRs-Fixed: 774533
2019-12-03 13:10:46 -08:00
Wu Gao
202154866b qcacld-3.0: Get rx chainmask by mac phy capability
Since there is change in FW and doesn't provide rx chaimask 2G on phy0
and rx chainmask 5G on phy1, so add this change to get rx chainmask
2g/5g based on mac phy capability.

Change-Id: I99d5f21c7a8033adc75f3b21e3b486628da3a40f
CRs-Fixed: 2574148
2019-12-03 13:10:46 -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
nshrivas
09db9462f7 Release 5.2.0.159K
Release 5.2.0.159K

Change-Id: Ib87f1d1ccabce37931eb73137c6da34abfeb3db4
CRs-Fixed: 774533
2019-12-03 08:05:50 -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
nshrivas
63d6ddbaad Release 5.2.0.159J
Release 5.2.0.159J

Change-Id: Icbfeaa0f34cfea7c379777e5eaa49eebd88f6f1a
CRs-Fixed: 774533
2019-12-03 01:15:00 -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
nshrivas
98a65e2167 Release 5.2.0.159I
Release 5.2.0.159I

Change-Id: I6424740e998bfe12d2884b49ad8c1c0041922d84
CRs-Fixed: 774533
2019-12-02 22:36:48 -08:00
Jianmin Zhu
a9c1b38b62 qcacld-3.0: Failed to add PMF required AP into LFR3 channel map
PMF info isn't filled in scan filter when find AP in scan
cache to build LFR3 channel map.

Change-Id: Ibacf0ee6534298415f97fc42e5223b7d85f203e0
CRs-Fixed: 2571777
2019-12-02 22:36:47 -08:00
nshrivas
68d802c271 Release 5.2.0.159H
Release 5.2.0.159H

Change-Id: I62448dfa453d9340a15ed9c95f7e81f82fc1cf09
CRs-Fixed: 774533
2019-12-02 12:39:08 -08:00
Abhishek Singh
91562fa4be qcacld-3.0: Free connected profile, roam info etc during HB failure
In case of disconnect from peer or HB failure the connected profile,
roam info etc are not freed. So connected BSSID is still present in
sme session.

Now in STA+STA case if the vdev0 STA connect to a BSSID say AP1 and
then disconnect due to HB failure. Now if the 2nd vdev1 STA connect to
AP1 and again disconnect due to HB failure, in
csr_roam_chk_lnk_deauth_ind it will try to find the session using
BSSID, but as vdev0 BSSID is not yet deleted it will get the vdev0
vdev id and continue the process on the wrong BSSID.

This result in actual CSR session in connected state for the vdev1
but all other layer in disconnected state.

Now if a connect request is received on vdev1 again, as CSR is
connected state it lead to reassoc req to LIM and lead to out of
sync issues.

To fix this free connected profile, roam info etc during peer
initiated disconnects. Also ignore the BSSID if a vdev is already
connected to it.

Change-Id: I0f862259dc297217c7b9ecd5d1521a8ded2aadc3
CRs-Fixed: 2577795
2019-12-02 12:39:08 -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
nshrivas
3fac0ecfcd Release 5.2.0.159G
Release 5.2.0.159G

Change-Id: I53286c495eaab0af95712b2065f8fe9be298f6cc
CRs-Fixed: 774533
2019-12-02 07:19:10 -08:00
hqu
e947f6524f qcacld-3.0: Clear wlan_reg_freq_to_chan
Clear wlan_reg_freq_to_chan in csr_scan_filter_results.

Change-Id: I4c6815171f51790a795af3635c924225cdf5ac35
CRs-Fixed: 2570951
2019-12-02 07:19:10 -08:00
nshrivas
86e54350b3 Release 5.2.0.159F
Release 5.2.0.159F

Change-Id: Ifa5b57d1ddafdf034f37c5ab87881aba50f13e00
CRs-Fixed: 774533
2019-12-02 02:08:36 -08:00
Jia Ding
8d4db30812 qcacld-3.0: Add dual STA support in WLAN IPA component
Currently dual STA is not supported in WLAN IPA component,
where first STA interface info will be overridden by second
STA including iface_ctx and interface registration to IPA
driver.

When second STA is switched to SAP and a ref-client is
connected to SAP, IPA datapath will be enabled for Wifi
sharing feature. But wlan0 interface is not registered
to IPA driver and this will lead to packet drops for
STA on the RX IPA exception path. IPA driver relies
on information such as vdev_id wlan driver registered
to correctly set skb->cb[0] and wlan driver uses
skb->cb[0] to find the correct vdev to pass packets up
to stack. Since STA interface info is not in IPA,
vdev_id for RX exception packets are thus wrong.

Fix is to store multiple STA interfaces in iface_ctx
and all of them are registered to IPA driver.

Change-Id: I745618c22e24b6c56719f8ae5faf653f55b99bca
CRs-Fixed: 2573567
2019-12-02 02:08:35 -08:00
nshrivas
57e608a9ad Release 5.2.0.159E
Release 5.2.0.159E

Change-Id: I5624b8f622f389b3d3f54fbacb128a9ec7081564
CRs-Fixed: 774533
2019-12-01 22:00:50 -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
nshrivas
94ac0e3fa1 Release 5.2.0.159D
Release 5.2.0.159D

Change-Id: I65faeb76a9829d947abf9c6bebbec561b647ff37
CRs-Fixed: 774533
2019-12-01 17:40:55 -08:00