Commit Graph

11093 Commits

Author SHA1 Message Date
nshrivas
5f6c5d69d9 Release 5.2.0.101B
Release 5.2.0.101B

Change-Id: If433da939465b2ce27ab945eb6f07632bbc7a643
CRs-Fixed: 774533
2018-10-11 05:35:22 -07:00
Dundi Raviteja
561e3ed2ae qcacld-3.0: Possible OOB access in wlan_hdd_cfg80211_start_bss()
Currently in function wlan_hdd_cfg80211_start_bss(), copying
supported rates and extended rates from information element pointer
without checking for array bounds which may cause OOB access.

To address this issue, add length checks before copying supported
rates and extended rates.

Change-Id: Ic6363e97bb3498a5dd23bc5e5f9b9f3ce093509d
CRs-Fixed: 2312995
2018-10-11 05:35:22 -07:00
Paul Zhang
c2ad86c575 qcacld-3.0: Change default value of wlm_latency_flags_ultralow
Disable scan by default if utral low level is setting.

Change-Id: Ibe183afad192d63f3ffe7885a297fcff5d87ffda
CRs-Fixed: 2318983
2018-10-11 05:35:18 -07:00
nshrivas
356ecaac2f Release 5.2.0.101A
Release 5.2.0.101A

Change-Id: I2addaa0dabb07128c44ff589d8a91fc6413bc07a
CRs-Fixed: 774533
2018-10-10 18:20:45 -07:00
Arif Hussain
256cc28720 qcacld-3.0: sap: Remove excessive logs
Below API's logs failure with caller information,
So no need logs at caller.
qdf_mem_malloc_atomic()
qdf_mem_malloc()
wmi_buf_alloc()
qdf_nbuf_alloc()
wmi_unified_cmd_send()

Change-Id: I392fd31f2ae1e46a0d7ceaa657b77fad4efd31eb
CRs-Fixed: 2327098
2018-10-10 18:20:44 -07:00
Arif Hussain
157263fe2a qcacld-3.0: wma: Remove excessive logs
Below API's logs failure with caller information,
So no need logs at caller.

qdf_mem_malloc_atomic()
qdf_mem_malloc()
wmi_buf_alloc()
qdf_nbuf_alloc()
wmi_unified_cmd_send()

Change-Id: I5d7d49811d71f83ecafccd9f936af323073b32c6
CRs-Fixed: 2327098
2018-10-10 18:20:40 -07:00
Rajeev Kumar
64beb9fcc9 qcacld-3.0: Move wmi_stop from pld uevent to wma shutdown notifier
PLD FW down uevent is asynchronous which races against all critical
driver transition events like probe, remove, shutdown, reinit and
hence move wmi_stop to wma shutdown notifier callbakk such that its
protected against all critical driver transition events.

Change-Id: I91046efeab8bc13b9f5c37d5a4d02b66c63e35a9
CRs-Fixed: 2330980
2018-10-10 18:20:36 -07:00
nshrivas
f9da57d994 Release 5.2.0.101
Release 5.2.0.101

Change-Id: Ib77dc02d3fde142d75f598f9108d0d94375ff770
CRs-Fixed: 774533
2018-10-10 16:32:47 -07:00
Harprit Chhabada
66dfa5cfed qcacld-3.0: Add bound check for fixed_param->total_num_tx_power_levels
Add bound check for new fixed_param->total_num_tx_power_levels
with its old value of rs_results->total_num_tx_power_levels in
wma_unified_radio_tx_power_level_stats_event_handler.

rs_results->tx_time_per_power_level is allocated only once
if it has not been already allocated.This allocation is saved
into the global wma_handle structure.

If multiple invocations of this handler occur then a buffer
overflow  can occur in the following scenario:
1. First message is used to allocate rs_results->tx_time_per_power_level
with a small, but valid size.
2. Second message skips allocation of rs_results->tx_time_per_power_level
since it was done with the first message. This message specifies a larger
valid value and causes the qdf_mem_copy() to overflow.

Change-Id: Ib9c7d3bd667e2ffc1408cd7356be35985331e028
CRs-Fixed: 2327688
2018-10-10 16:32:47 -07:00
nshrivas
33cd663fc9 Release 5.2.0.100Z
Release 5.2.0.100Z

Change-Id: I83778244d6fb71d09584e82eb48bb5244d0b6d81
CRs-Fixed: 774533
2018-10-10 13:22:32 -07:00
Dustin Brown
48f27fe04a qcacld-3.0: Fix misleading indent (sme)
Change I8cd30439d7ac3de7b550aa5042353cf30e04cbda recently introduced
misleading indentation in sme_update_tx_bfee_nstsi(). Not only does this
cause a build failure for some configurations, but is also dangerously
confusing for future readers. Remove the misleading indentation in
sme_update_tx_bfee_nstsi().

Change-Id: Ia971c414b433eeaff51eb4c65d3d2f56c49617b1
CRs-Fixed: 2330256
2018-10-10 13:22:32 -07:00
nshrivas
323d09b979 Release 5.2.0.100Y
Release 5.2.0.100Y

Change-Id: Id5eb1ed35f2dd1e8a7a11950c7ed3c5898032de1
CRs-Fixed: 774533
2018-10-10 09:17:56 -07:00
Pragaspathi Thilagaraj
f2bb62eeb7 qcacld-3.0: Fix NULL pointer dereference in csr_roam_chk_lnk_swt_ch_ind
In the functioncsr_roam_chk_lnk_swt_ch_ind(), newChannelId is
updated to session->pConnectBssDesc->channelId and
pConnectBssDesc->ieFields is passed to wlan_cfg_get_ie_ptr().
the parameters of pConnectBssDesc are accessed without
validating pConnectBssDesc. This can result in possible null
pointer dereference.

Validate the session->pConnectBssDesc before access.

Change-Id: I45f2c090cea90052f91d678f1bacd1411c4b9496
CRs-Fixed: 2329317
2018-10-10 09:17:55 -07:00
nshrivas
9415f6f490 Release 5.2.0.100X
Release 5.2.0.100X

Change-Id: Ic93143d220895b85ae8cb49ce4ed33e6dd6bdd89
CRs-Fixed: 774533
2018-10-10 07:26:50 -07:00
Pragaspathi Thilagaraj
bc5a34bba2 qcacld-3.0: Cancel iface_idle_work before wma_wmi_stop
When interface change timer expires, wma_wmi_service_close() is
called from hdd_iface_change_callback()->hdd_wlan_stop_modules()
->cds_close(). wmi_handle is made null here. At the same time,
if there is a modem reboot, host will receive early
indication from FW. Due to this, icnss driver sent
ICNSS_UEVENT_FW_DOWN event to host and it calls wmi_stop() again
from icnss_call_driver_uevent()->pld_snoc_uevent()->
wlan_hdd_pld_uevent() -> wlan_hdd_set_the_pld_uevent()->
wma_wmi_stop() -> wmi_stop(). As wmi_handle which was marked
null during wlan stop modules, this causes potential NULL
pointer dereference.

Flush iface_idle_work before wma_wmi_stop and add NULL check
before accessing wmi_handle.

Change-Id: I1bfa8ab7329040c0b5ba989c0d7de7bf7228dd35
CRs-Fixed: 2328575
2018-10-10 07:26:50 -07:00
Pragaspathi Thilagaraj
d2639bd16e qcacld-3.0: Add check for vdev_id
Add sanity check for vdev_id in wma_lost_link_info_handler
against wma_handle->max_bssid.

Change-Id: I1f469b25ac88deb4d5bbaf754c0ea441e6cb04de
CRs-Fixed: 2325718
2018-10-10 07:26:46 -07:00
nshrivas
81c1cd8a52 Release 5.2.0.100W
Release 5.2.0.100W

Change-Id: Ib69baf9240d717e56a9e758cbb6bd017ccf4af91
CRs-Fixed: 774533
2018-10-10 03:17:44 -07:00
Pragaspathi Thilagaraj
986ddbe853 qcacld-3.0: Fix possible double free in lim_handle_delete_bss_rsp
When disconnect is issued from userspace, lim_del_bss is invoked
and vdev stop is sent to firmware. If sending vdev stop fails,
WMA_DELETE_BSS_RSP is posted with failure. If an SSR is
happening during this time, then cds_mc_thread is preempted, and
as part of the pld uevent vdev resp queue cleanup is done . In
this path, lim_process_sta_mlm_del_bss_rsp is called and
msg->bodyptr is freed and pe session is deleted. After pld
uevent execution, the delete bss response processing in
cds_mc_thread as part of user space disconnect resumes and tries
to free the msg->bodyptr again. This results in double free.

Add check to validate if msg->bodyptr is NULL before freeing
the memory.

Change-Id: I491e5bab640aca6546b58755502dd00aa1bc6083
CRs-Fixed: 2324482
2018-10-10 03:17:43 -07:00
nshrivas
f6ca80c5de Release 5.2.0.100V
Release 5.2.0.100V

Change-Id: I975eedf5cdc6c1c9b31f48772166a99c386e3856
CRs-Fixed: 774533
2018-10-09 23:19:43 -07:00
Jeff Johnson
fed9a730dd qcacld-3.0: Refine the extscan get capabilities logic
Make the following updates to the extscan get capabilities logic:
1) Exclusively use the Unified WMI data structures.
2) Update the HDD<=>SME interface to enforce the contract that SME
   must not make any assumptions about the buffers provided by HDD.

Change-Id: I9e57c86a3da0924af01d82d626b61c28f7d520bf
CRs-Fixed: 2330211
2018-10-09 23:19:43 -07:00
nshrivas
e9c491b749 Release 5.2.0.100U
Release 5.2.0.100U

Change-Id: I782afbab2f8c918bbb96f428b25f77d2a229f23e
CRs-Fixed: 774533
2018-10-09 21:35:41 -07:00
Alok Kumar
62bf738e15 qcacld-3.0: Address the error path during WLAN suspend
In __wlan_hdd_cfg80211_suspend_wlan(), suspend process is bailed out
if hdd_suspend_wlan() < 0 due to which RX thread waits for completion
of ol_resume_rx_event.

Do completion of ol_resume_rx_event in __wlan_hdd_cfg80211_suspend_wlan
for error path to resume RX thread.

Change-Id: I8bf056f82d80e063b2e32a1a6573d7a36ced67dc
CRs-Fixed: 2327238
2018-10-09 21:35:40 -07:00
nshrivas
c996a37b87 Release 5.2.0.100T
Release 5.2.0.100T

Change-Id: I3d9af5941dbe9e975e40749cfed56eb7abdb9513
CRs-Fixed: 774533
2018-10-09 19:58:34 -07:00
Ashish Kumar Dhanotiya
6ff329eacb qcacld-3.0: De-init adapters before stop modules
In con_mode handler, adapters are getting deinitialized
while cleaning up present mode which is happening after
stop modules. In stop modules driver checks for memory
leak which results in mem leak detection for the adapters
which are not freed yet.

To address this issue, move the deinitialization of the
adapters from clean up present mode to stop present mode, which
happens before stop modules.

Change-Id: I9cda456feb2b0c199f5c8d4debee21f0e07c47fb
CRs-Fixed: 2326340
2018-10-09 19:58:34 -07:00
Vignesh Viswanathan
ad265f2b05 qcacld-3.0: Connect in 11b mode if INI is set to 11b and AP is 11bg
Currenly if the dot11Mode INI is set to 11b_only mode and the BSS we
are trying to connect is 11b/g mixed mode, then the connection happens
with phyMode 1 (11 b/g) but the data rates are set only for 11b mode
which leads the FW to assert when a data traffic with 11g rates is
triggered.

Connect to the BSS in 11b mode only if the INI is set to 11b_only and
the BSS we are trying to connect is in 11b/g mode.

Change-Id: I952394323efeacf5baae39b3a6d2adf7eae96a81
CRs-Fixed: 2328434
2018-10-09 19:58:30 -07:00
nshrivas
a4e7497659 Release 5.2.0.100S
Release 5.2.0.100S

Change-Id: I5a7a6dc960e4c44f7e4e403816d2f540bda75f43
CRs-Fixed: 774533
2018-10-09 16:28:36 -07:00
Tushnim Bhattacharyya
c23d56cea2 qcacld-3.0: Don't QDF_BUG() if pdev_id is WMI_PDEV_ID_SOC
Remove the QDF_BUG() from sanity check of pdev_id passed with
pdev_hw_mode_trans_ind event from FW.

Change-Id: I91bb697993e129bf3f8ff62900e21f85dbe85efc
CRs-Fixed: 2328603
2018-10-09 16:28:36 -07:00
nshrivas
d6f9cdfb0a Release 5.2.0.100R
Release 5.2.0.100R

Change-Id: I0667ccde4d8f7a37eaa147e5a7a52b34ec806aaa
CRs-Fixed: 774533
2018-10-09 12:37:27 -07:00
Liangwei Dong
7191780c4b qcacld-3.0: Register recovering state query callback
Register recovering state query callback to common qdf
platform component to provide recovering state.

Change-Id: If5d1b30f0617d9f8cef41787da1e829a792105f8
CRs-Fixed: 2320797
2018-10-09 12:37:18 -07:00
nshrivas
dff2f89ed0 Release 5.2.0.100Q
Release 5.2.0.100Q

Change-Id: I8da86b8a25a4800e5ea1029b8e88abd9237ca99b
CRs-Fixed: 774533
2018-10-09 06:12:18 -07:00
nshrivas
19489b67a6 Release 5.2.0.100P
Release 5.2.0.100P

Change-Id: Icee057ab48e212d509d5c1425fc5501573b32fc1
CRs-Fixed: 774533
2018-10-09 04:05:12 -07:00
Vignesh Viswanathan
a1f3a1a31b qcacld-3.0: Update multiple generic INI items using MLME CFG [Part 2]
Replace usage of the below INI Items using MLME CFG instead of HDD config.

gEnableSelfRecovery
gSapDot11mc
gEnableFatalEvent
gSub20ChannelWidth
goptimize_chan_avoid_event
fw_timeout_crash
DroppedPktDisconnectTh
gItoRepeatCount

Change-Id: Ib46b9fc6c4bbc5ede0be7a5cb88064808962839d
CRs-Fixed: 2327611
2018-10-09 04:05:07 -07:00
nshrivas
c58e33c5f9 Release 5.2.0.100O
Release 5.2.0.100O

Change-Id: I1920f8956647cd661bdbef385833ad5214b08846
CRs-Fixed: 774533
2018-10-09 00:03:37 -07:00
Jeff Johnson
2ba600960c qcacld-3.0: Refine the extscan get cached results logic
Make the following updates to the extscan get cached results logic:
1) Exclusively use the Unified WMI data structures.
2) Update the HDD<=>SME interface to enforce the contract that SME
   must not make any assumptions about the buffers provided by HDD.

Change-Id: I4144aa4cdb9c6d3ddaae30eedaec3096abf95857
CRs-Fixed: 2329405
2018-10-09 00:03:37 -07:00
nshrivas
6ae3d31b67 Release 5.2.0.100N
Release 5.2.0.100N

Change-Id: Id0faade1f60af93afd731d89bfbf35af069c3f82
CRs-Fixed: 774533
2018-10-08 22:20:09 -07:00
chenguo
dc9f0ec570 qcacld-3.0: Add pause and unpause statistics for new netif actions
Add pause and unpause statistics for below new netif actions:
	WLAN_NETIF_VO_QUEUE_ON
	WLAN_NETIF_VO_QUEUE_OFF
	WLAN_NETIF_VI_QUEUE_ON
	WLAN_NETIF_VI_QUEUE_OFF
	WLAN_NETIF_BE_BK_QUEUE_OFF

This change is part of FR49094

Change-Id: I56452711b0e4c2176ed8ee398ea68fa5e60012ba
CRs-Fixed: 2307945
2018-10-08 22:20:08 -07:00
nshrivas
8dfc22cdb2 Release 5.2.0.100M
Release 5.2.0.100M

Change-Id: I8af79e0fa4d49e5c11c05519b15acfe09544850d
CRs-Fixed: 774533
2018-10-08 20:22:20 -07:00
Harprit Chhabada
2e2aa6962c qcacld-3.0: Fix null pointer dereference in wma_pdev_div_info_evt_handler
pmac->sme.get_chain_rssi_cb is never checked if
WMI_PDEV_DIV_RSSI_ANTID_EVENTID messages is sent anytime
by user.

pmac->sme.get_chain_rssi_cb can not be appropriately
registered and can result in NULL pointer dereference.

Change-Id: I64783a0e2d054b45678f126b42de20470d3264d3
CRs-Fixed: 2324128
2018-10-08 20:22:19 -07:00
nshrivas
ae647272e5 Release 5.2.0.100L
Release 5.2.0.100L

Change-Id: I18e85fe76106a1dbc6a9007c5deac238d2f8c678
CRs-Fixed: 774533
2018-10-08 18:02:34 -07:00
Krunal Soni
2f5e3dd670 qcacld-3.0: Exclude length field size from max beacon payload size
Don't account length field size while comparing against max
beacon size.

Current driver starts from (ptr+4 bytes) then tries to copy
512 bytes from that point which creates to copy extra 4 bytes
beyond the array's boundary.

Instead copy only 508 bytes if driver starts copying from
(ptr+ 4bytes).

 ptr
  ^
  |
  |
  +---------------+--------------------------------+
  |               |                                |
  |  Length       |   Max Beacon payload           |
  |               |                                |
  +---------------+--------------------------------+

  |<-- 4 bytes -->|<-------- 508 bytes ----------->|

  |<-------------  512 bytes --------------------->|

CRs-Fixed: 2327052
Change-Id: I2646986ec424f7da31107ad01f673588734eaa52
2018-10-08 18:02:33 -07:00
nshrivas
ac580f44fa Release 5.2.0.100K
Release 5.2.0.100K

Change-Id: I5fd7548837b54ce4decc9591dea9c5bef6739d42
CRs-Fixed: 774533
2018-10-08 12:08:03 -07:00
nshrivas
88b4ea45c6 Release 5.2.0.100J
Release 5.2.0.100J

Change-Id: I3295faf44da5128356c264a767737ebc2e82c944
CRs-Fixed: 774533
2018-10-08 05:26:36 -07:00
Karthik Kantamneni
e3bbd7fbb4 qcacld-3.0: Add MLME CFG items of rates [PART 2]
Add MLME CFG items of rates based on converged cfg component

Change-Id: If823a2b19e4b828a3f079d2b032067dd5b5ca196
CRs-Fixed: 2322410
2018-10-08 05:26:35 -07:00
nshrivas
26efc97ff4 Release 5.2.0.100I
Release 5.2.0.100I

Change-Id: I46c5dd09a8a3efa6e6048d66110a606c91fc1829
CRs-Fixed: 774533
2018-10-08 03:36:12 -07:00
Yu Ouyang
57c2553835 qcacld-3.0: Fix commnd eSmeCommandRoam stuck issue
qcacld-2.0 to qcacld-3.0 propagation.

AP and P2P GO mode, user issue DEAUTHENTICATE command with reason 6,
driver will change deauth reason code to eSIR_MAC_UNSPEC_FAILURE_REASON.
It should be only for station or p2p client mode. Otherwise,
'eSmeCommandRoam' will be stuck in 'smeCmdActiveList'. It will
trigger recover.

Change-Id: I126c0b682dbee12e6da903040e058ca370228c5f
CRs-Fixed: 2311077
2018-10-08 03:36:11 -07:00
nshrivas
b3401cf5ed Release 5.2.0.100H
Release 5.2.0.100H

Change-Id: I5959afaf141b2cf36cb3d4ead9f5ef5a9c9359ad
CRs-Fixed: 774533
2018-10-07 13:58:55 -07:00
Abhinav Kumar
b074f2f7fc qcacld-3.0: Refactor MLME CFG items and APIs for VHT
VHT Part3: Add the basic infra for MLME CFG items and the APIs
to be used from other components for VHT.

Change-Id: I8cd30439d7ac3de7b550aa5042353cf30e04cbda
CRs-Fixed: 2322304
2018-10-07 13:58:54 -07:00
nshrivas
7780a005cd Release 5.2.0.100G
Release 5.2.0.100G

Change-Id: Iccd1b10473a9bdaed11160264d469ff0234840f7
CRs-Fixed: 774533
2018-10-07 07:49:25 -07:00
Pragaspathi Thilagaraj
fffde56f75 qcacld-3.0: Send the del sta session command with low priority
When the userspace disconnect is issued, as a part of wlan exit,
HDD sent below commands to sme:
1) Disconnect Req (DelBSS /Del Sta)
2) Close Session ( DelSelfSta ) in the following path:
hdd_stop_adapter() -> hdd_stop_adapter_ext() -> hdd_vdev_destroy
-> sme_close_session() -> csr_roam_close_session.
e_sme_command_del_sta_session is sent from csr_roam_close_session
with high priority. This causes vdev delete to be sent before
peer delete .
As HDD has already freed all the commands in
csr_roam_close_session, now sme should process the cmd only in
the pending queue order. Hence we should not send DEL_SELF_STA
as high priority cmd.

Send the e_sme_command_del_sta_session with normal priority.

Change-Id: Ic874ca792f84235c70b8257a232c02f0bd050618
CRs-Fixed: 2328462
2018-10-07 07:49:24 -07:00
nshrivas
31ea671970 Release 5.2.0.100F
Release 5.2.0.100F

Change-Id: I91a93c73e936628d73d2da38baca44b1adcce1bc
CRs-Fixed: 774533
2018-10-06 00:01:23 -07:00