Commit Graph

15056 Commits

Author SHA1 Message Date
Bala Venkatesh
235615809c qcacld-3.0: Reset the connection_in_progress flag in case of SSR
Currently, the connection_in_progress flag in hdd_ctx is not reset
as part of SSR this can lead to scan reject after SSR.

Change-Id: Icc7889eb3140f02dd100d05e812d5573ebcae63c
CRs-Fixed: 2516937
2019-09-09 05:35:17 -07:00
Jianmin Zhu
dd405695cd qcacld-3.0: Switch to target if vdev up
Switch legacy vdev up to vdev mgr/target if vdev up

Remove wakelock since it is handled in target if.
Clean up legacy vdev up API.

Change-Id: I125b202e9a18ee3bf279fe4df7bc17b9ec7bf999
CRs-Fixed: 2516586
2019-09-09 05:35:11 -07:00
nshrivas
4c16e61fea Release 5.2.0.147C
Release 5.2.0.147C

Change-Id: I33f1b4413f3740418f8a17909666e4ceb299db53
CRs-Fixed: 774533
2019-09-08 07:37:21 -07:00
Visweswara Tanuku
2e839e540c qcacld-3.0: Genoa: SDIO: Handle Tx Padding & Credits
In Genoa SDIO ADMA implementation Host sends packets to FW in
multiples of SDIO Block size.
If the packet/bundle is not block aligned Host adds padding at the
end of Packet/Bundle.

If the TX packet plus padding exceeds one FW TX Buffer, Padding data
will occupy the next FW TX buffer. Same applies for bundle TX packet.

For above scenario, HTC_FLAGS_PADDING_CHECK of HTC header Flags is used
to notify the FW that - Padding data follows the currentHTC packet

Since the padding data will take one extra FW Tx Buffer, host need to
handle the extra Tx credit being used by the padding data/buffer

CRs-Fixed: 2516619
Change-Id: Ie2d2292fabb30e1a13eebe4d11b57f452e42afa8
2019-09-08 07:37:21 -07:00
nshrivas
82415b1dcf Release 5.2.0.147B
Release 5.2.0.147B

Change-Id: I1c2bb21e1e1a53bf6908c01874309487c285dd77
CRs-Fixed: 774533
2019-09-08 02:24:10 -07:00
Abhishek Singh
989f8b8709 qcacld-3.0: Remove unused members of struct wma_txrx_node
Some struct wma_txrx_node members are not used so remove them.

Change-Id: I900a0898e448dfc363aad1d157de74557bb982f6
CRs-Fixed: 2523105
2019-09-08 02:24:09 -07:00
nshrivas
f71b03c282 Release 5.2.0.147A
Release 5.2.0.147A

Change-Id: Iae2c02885aa628c209bc948b69a1d63482b20a36
CRs-Fixed: 774533
2019-09-08 01:07:24 -07:00
Yu Ouyang
228afe9d1d qcacld-3.0: Fix ANI_AKM_TYPE_SAE undeclared issue
ANI_AKM_TYPE_SAE is defined only when WLAN_FEATURE_SAE defined.
But it is used without any checking in function lim_check_wpa_rsn_ie().
If WLAN_FEATURE_SAE is disabled, build error will occur.

It is easy to fix it to add '#ifdef WLAN_FEATURE_SAE' in function
lim_check_wpa_rsn_ie(). But coding rule, '#ifdef WLAN_FEATURE_SAE' isn't
allowed to occur in function. So, move '(*akm_type == ANI_AKM_TYPE_SAE)'
to function lim_check_sae_pmf_cap().

Change-Id: Id62bc69d770dbd4e470d8fa379b4cb3f7447d9dc
CRs-Fixed: 2508071
2019-09-08 01:07:24 -07:00
nshrivas
a1cf7896bf Release 5.2.0.147
Release 5.2.0.147

Change-Id: Id92f94cd67b60309fbb7fa25b22778b52a0301c0
CRs-Fixed: 774533
2019-09-07 23:44:35 -07:00
Jayachandran Sreekumaran
8785e2504b qcacld-3.0: Add sdio support for pld update status
Add pld update status api support for sdio

Change-Id: Id96bf8346989dfb2100bff7bd508a499570d2015
CRs-Fixed: 2512562
2019-09-07 23:44:34 -07:00
nshrivas
9a2e6e3c87 Release 5.2.0.146Z
Release 5.2.0.146Z

Change-Id: I9bb6abf7c76057d3cfd23ccc052e0c66b6d620fd
CRs-Fixed: 774533
2019-09-07 12:28:55 -07:00
Abhishek Singh
850476c541 qcacld-3.0: Cleanup unused vdev request hold framework
With vdev operations moved to target if from the wma, the vdev
request hold framework is not used.

Thus remove the unused functions and structures

Change-Id: I6e609735ad0bdc8b929cfffa6f13915f0ad6823d
CRs-Fixed: 2523104
2019-09-07 17:56:13 +05:30
nshrivas
6076eea137 Release 5.2.0.146Y
Release 5.2.0.146Y

Change-Id: I38e02cd4f8a608301de2eec6b5b13b17cc0a3e31
CRs-Fixed: 774533
2019-09-07 04:19:29 -07:00
Bala Venkatesh
ae665afe32 qcacld-3.0: Avoid null pointer access of vdev
In function hdd_softap_set_channel_change, vdev is passed to
function wlan_vdev_mlme_get_opmode without taking reference.
This can lead to NULL pointer access.

Change-Id: Ibbc58a1e7a4be0e0e34982b99541a63cd77e0480
CRs-Fixed: 2518560
2019-09-07 04:19:28 -07:00
nshrivas
c9d6029874 Release 5.2.0.146X
Release 5.2.0.146X

Change-Id: I9496bff35984b19c277200f783d395662dcde37a
CRs-Fixed: 774533
2019-09-06 22:24:52 -07:00
Rakshith Suresh Patkar
68ed495257 qcacld-3.0: Update vdev_id in hdd_rx_pkt_thread_enqueue_cbk
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.

This change invloves updating the vdev_id for the network buffer list
in hdd_rx_pkt_thread_enqueue_cbk for later use in
dp_rx_thread_process_nbufq.

Change-Id: Ibaf5c10a7fe77772d2eea2a10398e0116fdd0344
CRs-Fixed: 2522201
2019-09-06 22:24:52 -07:00
Rakshith Suresh Patkar
1a2bfd5e28 qcacld-3.0: Remove peer_local_id usage in dp_rx_thread_process_nbufq
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.

This change invloves removal of local_peer_id usage from
DP API dp_rx_thread_process_nbufq.

Change-Id: Ibfed421df3ace139808d16365ec5d54e9b013dfe
CRs-Fixed: 2512693
2019-09-06 22:24:47 -07:00
nshrivas
5423497ab3 Release 5.2.0.146W
Release 5.2.0.146W

Change-Id: Ifae61f7ff019f9b12669ff38509b31e9e4c931e5
CRs-Fixed: 774533
2019-09-06 20:26:36 -07:00
Srinivas Dasari
cc863f0b26 qcacld-3.0: Consider PMF capa of peer also for rmf frame processing
Cache the PMF capability of peer in peer_mlme_priv_obj while
adding bss for both station and AP modes. Process the mgmt frames
received from the peer as rmf frames only if the peer is of PMF
capable.
Move mlme_peer_object creation and deletion out of the define
CRYPTO_SET_KEY_CONVERGED to make it generic.
Remove the check where WEP bit is validated and modified based on
PMF capability of the peer. This is already taken care while
setting WEP bit in lim.

Change-Id: I0c93bb25db6a866e4c1793c9ba4c60773c0f019d
CRs-Fixed: 2520249
2019-09-06 20:26:35 -07:00
nshrivas
1756b27a7f Release 5.2.0.146V
Release 5.2.0.146V

Change-Id: I3f85762bba3dc6bfb00657640a4cd7cd3bca41bc
CRs-Fixed: 774533
2019-09-06 16:25:41 -07:00
Abhishek Singh
a25efe524d qcacld-3.0: Use static const initializers for IE array
The qcn and ese arrays are dynamically recreated on every call of the
functions sme_add_qcn_ie and csr_append_assoc_ies.

Change the initializers to static const to avoid dynamic recreation.

Change-Id: Ib3ae9a1b753c4dcfb6d8fd440050977253f3e720
CRs-Fixed: 2522716
2019-09-06 16:25:40 -07:00
nshrivas
19f63d2c3e Release 5.2.0.146U
Release 5.2.0.146U

Change-Id: Ie103e95f17fff6f1ebd44f79dd99169624934062
CRs-Fixed: 774533
2019-09-06 13:42:53 -07:00
Abhishek Singh
356781e02f qcacld-3.0: Use Vdev mlme target if for hidden ssid restart
Use Vdev mlme target if for hidden ssid restart.

Change-Id: I915f7911a1f3e01fd6579ed3e33d65bfe8a6c413
CRs-Fixed: 2522556
2019-09-06 13:42:52 -07:00
nshrivas
28845fbe87 Release 5.2.0.146T
Release 5.2.0.146T

Change-Id: I5d20b47cbfa7d7f7b37d72b1c8326c880cf6ce15
CRs-Fixed: 774533
2019-09-06 12:26:10 -07:00
Jianmin Zhu
b4203ad3dc qcacld-3.0: Switch to target if vdev start req
Populate vdev mlme in wma vdev start.
Call vdev mgr/target if vdev start API in wma vdev start.

Change-Id: Icbf82c8af320d0b2a19a72db94ad6abfa373b7e6
CRs-Fixed: 2516589
2019-09-06 12:26:09 -07:00
Jianmin Zhu
48ccbd05d0 qcacld-3.0: Don't fill vdev start req in wma rsp queue
Vdev start req timeout is moved to target if.
Req msg type can be got from vdev mlme instead of wma rsp queue
in vdev start rsp handler.

Set bss params into vdev mlme priv when start vdev with add bss.
then can get bss params from vdev mlme priv when handle start
vdev add bss rsp.

Free hidden ssid vdev req after vdev restart return, don't need
it when handle rsp.

Change-Id: I956fc5a9164d5961513dfa922aee27af28483807
CRs-Fixed: 2516587
2019-09-06 12:26:05 -07:00
Jianmin Zhu
7658df6386 qcacld-3.0: Refactor vdev resp handler
Add target_if vdev start resp handler: target_if->vdev_mgr->
	mlme legacy(wma->lim).

Replace channel switch parameter by vdev resp event

Wma call lim API directly, don't post message

Get add bss from vdev mlme obj priv data.

Change-Id: Iba8f70e22639e0ec9ec3db04e08b24655b2f0057
CRs-Fixed: 2516585
2019-09-06 12:26:00 -07:00
Jianmin Zhu
160d364672 qcacld-3.0: Refactor channel switch resp in lim
Use vdev_start_response to replace tpSwitchChannelParams
parameter in channel switch response handler.

Lim channel switch resp handler will be called directly, don't
use post msg.

Use vdev id to replace tpHalHiddenSsidVdevRestart in hidden
ssid response handler.

Change-Id: Ida0bfed3fea1cc0ff28ed15832765d446296f3be
CRs-Fixed: 2516582
2019-09-06 12:25:55 -07:00
nshrivas
46eb188999 Release 5.2.0.146S
Release 5.2.0.146S

Change-Id: Ie3a0c0d57bab01cf0ecd0ce3a2d1fca1cb5044a1
CRs-Fixed: 774533
2019-09-06 07:40:13 -07:00
Abhishek Singh
74d06cf802 qcacld-3.0: Fix improper QCN IE length filled
While filling the QCN IE the IE length filled is 11 while actual
length is 8 and thus this lead to improper IE length in scan
additional ie while copying the default_scan_ies.

So fix the QCN IE length and add check for improper IE length check
while copying IE in scan additional ie.

Change-Id: I372af8c206d8f7ce0e93bc9c0fb14e222c6eb87e
CRs-Fixed: 2522208
2019-09-06 07:40:13 -07:00
nshrivas
5324ac644c Release 5.2.0.146R
Release 5.2.0.146R

Change-Id: I498e9416a749f9268e319b1157eb41fda4ff628f
CRs-Fixed: 774533
2019-09-06 06:22:58 -07:00
nshrivas
090a1baba6 Release 5.2.0.146Q
Release 5.2.0.146Q

Change-Id: Id0a3c7da0125dbe794b1b6b5576bdc5fd60f6c9c
CRs-Fixed: 774533
2019-09-06 00:46:07 -07:00
Abhishek Ambure
968f1515a5 qcacld-3.0: Clean up struct del_bss_params
As a part of vdev convergence, legacy vdev code for vdev delete/stop/
down is removed. WMA timer for vdev manager operations are deleted,
now target_if takes care of it.

Structure del_bss_params is no more used to store bss delete request
params, hence struct del_bss_params is cleaned up from legacy code.

Change-Id: I487d2683908b705176ff8064dd3ce7cd49a3ce47
CRs-Fixed: 2517880
2019-09-06 00:46:06 -07:00
nshrivas
ecec9753d3 Release 5.2.0.146P
Release 5.2.0.146P

Change-Id: Ibbc807cf82d6d6bf3585319692a136fd1bbc08c0
CRs-Fixed: 774533
2019-09-04 22:23:52 -07:00
Alan Chen
0f29e974ec qcacld-3.0: Wait for PM freeze when turning wifi on
Add a wait for PM freeze when wifi is turning on to make sure file system
and QMI are still accessible before attempting to download the FW and
trigger a QMI handshake with FW.

Change-Id: Ia2f3dc28abb9cab4b5dd8038ea02ac016eb74bbb
CRs-Fixed: 2521009
2019-09-04 22:23:52 -07:00
Alan Chen
f8a46d501f qcacld-3.0: Change system power debugging time stamp to microseconds
Time stamp for profiling system level power issues is currently using
qdf_get_system_timestamp(), which measures in milliseconds. To get more
fine granular data, use qdf_get_log_timestamp_usecs() to measure in
microseconds instead.

Change-Id: I920d0ec7c90ab602cbdc0d1efdb6061d6a72c122
CRs-Fixed: 2520939
2019-09-04 22:23:48 -07:00
nshrivas
31271c8865 Release 5.2.0.146O
Release 5.2.0.146O

Change-Id: Ia6345d61dd8e1782ce5eef620cdb94e246eb3616
CRs-Fixed: 774533
2019-09-04 18:53:48 -07:00
Tushnim Bhattacharyya
42299b8780 qcacld-3.0: Replace channel with frequency in csr_channel
Replace channel ID with frequency in struct csr_channel.

Change-Id: Id86aacfd6dc9b0c65184bf046a7ee27b9c1fb5e5
CRs-Fixed: 2519204
2019-09-04 18:53:48 -07:00
Tushnim Bhattacharyya
1b11154a62 qcacld-3.0: Replace channel with frequency in csr_channel_powerinfo
Replace channel ID with frequency in struct csr_channel_powerinfo.

Change-Id: Ibe6bb41345f01f7898e91d75f2c5730d88e33717
CRs-Fixed: 2519117
2019-09-04 18:53:43 -07:00
Tushnim Bhattacharyya
d1d0db9db2 qcacld-3.0: Replace channel with frequency in wlan_mlme_reg
Replace channel ID with frequency in struct wlan_mlme_reg.

Change-Id: I71fcec5014e451cf912f187c79a1939d2d7e54ad
CRs-Fixed: 2518897
2019-09-04 18:53:38 -07:00
nshrivas
82f55edc88 Release 5.2.0.146N
Release 5.2.0.146N

Change-Id: I5b36335e3e8ad3be912d7d88be6431db3a6a1909
CRs-Fixed: 774533
2019-09-04 17:38:22 -07:00
Hangtian Zhu
39e2e21a83 qcacld-3.0: Use QCS40X instead of QCS405 in config files
Use QCS40X instead of QCS405 in config files. Kernel defconfig files for
QCS405 and QCS403 has been separated recently, and the arch has been
changed between these two chips. But all QCS related features and changes
in cld should all be included, so use CONFIG_ARCH_QCS40X to replace
CONFIG_ARCH_QCS405.

Change-Id: I6f0837bb3d3f1530aea5b2d4912741beb8c313bd
CRs-Fixed: 2519267
2019-09-04 17:38:18 -07:00
Alan Chen
d841bcca03 qcacld-3.0: Return -EAGAIN from idle shutdown if system is suspending
Return -EAGAIN from idle shutdown callback API if system suspend is
ongoing such that cnss driver does not turn off suspend the PCIe link
and psoc idle shutdown can be re-tried later.

Change-Id: If859abb70c18d03c2e73a8c589a4e138b98cb996
CRs-Fixed: 2518448
2019-09-04 17:38:14 -07:00
nshrivas
e1b50e5a80 Release 5.2.0.146M
Release 5.2.0.146M

Change-Id: I5e70d31721d6551b3aca9df3e41b04d5085bef05
CRs-Fixed: 774533
2019-09-04 16:22:54 -07:00
Kiran Kumar Lokere
89f01f0fac qcacld-3.0: Add support for VHT MCS 10&11
Add support to advertise the VHT MCS 10&11 support using vendor
specific IE to enable the MCS 10 and 11 support in VHT mode.

Change-Id: I2d197dcce20ab4aec617ca8a7f4a54b438fae635
CRs-Fixed: 2465662
2019-09-04 16:22:53 -07:00
nshrivas
e51d668c82 Release 5.2.0.146L
Release 5.2.0.146L

Change-Id: Id9510d567d4126c5c7d20da33afcb13a49832fa1
CRs-Fixed: 774533
2019-09-04 11:30:44 -07:00
tinlin
c5193671e4 qcacld-3.0: Possible null pointer dereference
In hdd_dis_connect_handler, roam_info is checked
for NULL in if(roam_info && roam_info->disconnect_ies),
but roam_info may be null pointer and is explicitly
dereferenced later. Add null pointer check before
it is dereferenced again.

Change-Id: I51f731323f01ddc657c57d20d8c63317400c92ab
CRs-Fixed: 2518450
2019-09-04 11:30:44 -07:00
Sourav Mohapatra
939e0744f7 qcacld-3.0: Add support to print reg db and bdf reg db version
FW sends regdb and bdf regdb version as a part of service ready event.
Extract the versions and populate it to HDD layer.

Change-Id: I2c9a40832361381c66a482d93ef5721fa7d6ffe4
CRs-Fixed: 2486984
2019-09-04 11:30:39 -07:00
Abhishek Ambure
bfcf12f03b qcacld-3.0: Release WLAN_LEGACY_WMA_ID ref before vdev del command
In legacy code WLAN_LEGACY_WMA_ID reference was released after
sending vdev delete command to firmware. Now with converged vdev
manager, if wmi service "wmi_service_sync_delete_cmds" is not enabled
then vdev delete response is sent to upper layer through target_if.

Hence WLAN_LEGACY_WMA_ID reference for vdev is released before sending
vdev delete command and then wma_txrx_node for the vdev is cleaned up.

Change-Id: I717a7911a5139dc5145e7702e831f6f026c8f3aa
CRs-Fixed: 2518231
2019-09-04 11:30:35 -07:00
Jingxiang Ge
13b87056d2 qcacld-3.0: Fix possibile excessive log in hdd_rx_packet_cbk
There is possible excessive log in hdd_rx_packet_cbk when
receiving arp pkt. so lower log level from info to debug.

Change-Id: If7fbe1f86e98ca22172f9b21205b7215c435988b
CRs-Fixed: 2511832
2019-09-03 15:58:49 +08:00