Graf commitů

12164 Commity

Autor SHA1 Zpráva Datum
Kiran Kumar Lokere
6f6a5688c9 qcacld-3.0: Fix issue with Nss setting status
Update Nss routine always returns failure status to user space.
Fix issue to send correct response to user space.

Change-Id: I12342ee531fc790b3042d8dcd8f5bb4b7a97e9fe
CRs-Fixed: 2340073
2018-10-27 02:32:27 -07:00
nshrivas
f2126639dc Release 5.2.0.103M
Release 5.2.0.103M

Change-Id: I2fcfdc4a85b154f082c6fa435cdb2d4accaf7480
CRs-Fixed: 774533
2018-10-27 00:11:33 -07:00
Abhishek Singh
13bf0ce6cd qcacld-3.0: Purge all serialization commands on csr stop
During csr stop, csr_roam_close_session try to purge all the pending
commands for the vdev. But as vdev is already logically deleted,
the cmds are not purged as the purge by vdev API fails to get the
vdev ref.

As in csr stop, driver clean up all the sme session so instead of
calling purge commands for vdev, call purge cmd for all the vdev.

Also the active command timeout for the delete vdev is 30 sec while
HDD waits for 15 sec. The active command timeout should be less
than the HDD timeout. Thus set active cmd timeout as 10 sec and
HDD timeout as 11 sec

Change-Id: I1d45de261c50f1835379a9cc1df4631f3e32f459
CRs-Fixed: 2339694
2018-10-27 00:11:32 -07:00
nshrivas
a7b55dd381 Release 5.2.0.103L
Release 5.2.0.103L

Change-Id: I8f0f4e2604d98c358cbead082ab54b04ec3f0255
CRs-Fixed: 774533
2018-10-26 22:37:36 -07:00
Jianmin Zhu
7a03c02b36 qcacld-3.0: Fix mem and timer leak when WMA_DELETE_BSS_REQ timeout
In wma_vdev_resp_timer(), while handling WMA_DELETE_BSS_REQ if
wma_crash_on_fw_timeout() is true, SSR is triggered, but timer
event_timeout isn't destroyed, wma_target_req, and user_data
isn't freed, result in timer and mem leak.

Change-Id: Ic47af43de671d195c6addd0360b96305af15d9bf
CRs-Fixed: 2337211
2018-10-26 22:37:36 -07:00
nshrivas
d38a1ef8c6 Release 5.2.0.103K
Release 5.2.0.103K

Change-Id: I2d6b462370e397f61fe672bd5d86f90a5b4d665e
CRs-Fixed: 774533
2018-10-26 16:42:28 -07:00
Yue Ma
fb3b78d7d2 qcacld-3.0: Add force wake APIs support in PLD
As part of PCIe power management for new WLAN devices, it requires
asserting WAKE register before accessing any MMIO registers outside
first 4K range. Add the APIs support in PLD for WLAN host driver.

Change-Id: I307cc6688fca58a52a6eaf3982d675c7a85a6965
CRs-fixed: 2326459
2018-10-26 16:42:28 -07:00
Yue Ma
9c0e4800ea qcacld-3.0: Add PLD support to check if FW is down for PCIe bus
Support to check if FW is down or not for PCIe bus in PLD layer.

Change-Id: Ic09607016c430a1c4ec6c30f9b29b1ab52b4c885
CRs-fixed: 2268026
2018-10-26 16:42:24 -07:00
nshrivas
ade36d6ffb Release 5.2.0.103J
Release 5.2.0.103J

Change-Id: I74f50a9f6298cd0b91acf437d331b8485a8f6569
CRs-Fixed: 774533
2018-10-26 12:17:24 -07:00
Dustin Brown
0c8486685e qcacld-3.0: Replace idle timeout flush in fw down
I1bfa8ab7329040c0b5ba989c0d7de7bf7228dd35 moved the idle timeout work
flush in an attempt to address a regression caused by moving the WMI
stop call in Iea53931771afd93ffaeabf704bbaffcf2460284f. Later, the WMI
stop call change was ultimately reverted in
I91046efeab8bc13b9f5c37d5a4d02b66c63e35a9, but the flush call was left
in its new location. Replace the original call site of the idle timeout
work flush, from before Iea53931771afd93ffaeabf704bbaffcf2460284f.

Change-Id: I21d74e02b5491dd3b42bb668329d09e77b416b7d
CRs-Fixed: 2339335
2018-10-26 12:17:23 -07:00
Jeff Johnson
389126493f qcacld-3.0: Refactor WE_SET_NSS processing
Currently the HDD function with the highest cyclomatic complexity is
__iw_setint_getnone(). The handing of WE_SET_NSS has a complexity
greater than 1, so refactor that logic into a separate function to
help reduce the complexity of __iw_setint_getnone(). As part of the
refactoring relocate the mac_handle NULL check to hdd_update_nss()
since that is where it is actually used.

Change-Id: I6fef7680b8013547cb2b8eb649e207e3026144ff
CRs-Fixed: 2338567
2018-10-26 12:17:19 -07:00
nshrivas
a583339824 Release 5.2.0.103I
Release 5.2.0.103I

Change-Id: I5a1dccc7c725ac182c806fc1cae0e7dc1329f361
CRs-Fixed: 774533
2018-10-26 10:39:20 -07:00
Tiger Yu
f1551cbacc qcacld-3.0: doing tx desc init earlier in ol_tx_hl_base
Doing the tx desc initialization earlier in ol_tx_hl_base to make sure
all msdu buffers have been mapped before msdu frame is freed if encouter
error.

Change-Id: Iefded014b4a179889e67fa7cc0e0c36e8218dd83
CRs-Fixed: 2337167
2018-10-26 10:39:20 -07:00
Venkata Sharath Chandra Manchala
598f503a01 qcacld-3.0: Change return status
Return QDF_STATUS as return status
over an integer value.

Change-Id: Ib6083de9b3581e6d92ec18f39ca552a5ae0cfc2d
CRs-Fixed: 2311561
2018-10-26 10:39:16 -07:00
Gaurank Kathpalia
511634b339 Revert "qcacld-3.0: Add check for DBS mode in start bss"
this is not required as the session nss has to be 2, which
is expected, and helps to shift back to 2x2 from 1x1, while
hw mode goes to single MAC mode

This reverts commit I54ead1fd26d705a821160b5bc5d816df1d2ab8f4

Change-Id: I3bdcad1df6cc67de2533c89697b8c17d8ac4f573
CRs-Fixed: 2329616
2018-10-26 10:39:13 -07:00
Liangwei Dong
3abfe8f832 qcacld-3.0: Add Random MAC addr Action Frame Tx
1. Report NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA to
cfg80211.
2. Indicate Random MAC addr frame to source adapter.

Change-Id: Ica66fb43636fc1609febd87b6e6398dac3af25f3
CRs-Fixed: 2322077
2018-10-26 10:39:09 -07:00
Jeff Johnson
ceb233442a qcacld-3.0: Remove csr_set_band()
Change "qcacld-3.0: Remove sme_set_freq_band()" (Change-Id
I41eeda85754a4d2cb1971dd53eb07a86e5ff4b87") removed the only caller
of csr_set_band(). Since it is now apparently obsolete, remove it.

Change-Id: Ifcfbeecb28964aef82d6b51942436ba18282f1d7
CRs-Fixed: 2339197
2018-10-26 10:39:06 -07:00
Jeff Johnson
6885e9c64a qcacld-3.0: Remove sme_set_freq_band()
Function sme_set_freq_band() is not used. Since it is apparently
obsolete, remove it.

Change-Id: I41eeda85754a4d2cb1971dd53eb07a86e5ff4b87
CRs-Fixed: 2339196
2018-10-26 10:39:03 -07:00
Jeff Johnson
9516c11ecd qcacld-3.0: Fix channel width logs when updating phymode
In wlan_hdd_update_phymode() there are two separate calls to
ucfg_mlme_get_vht_channel_width(). In both cases the return status is
checked, and in case of error the following messages is logged:
  "Failed to set channel_width"

Since ucfg_mlme_get_vht_channel_width() is a "getter" and not a
"setter" change the log to:
  "Failed to get channel_width"

Change-Id: Ifed249e78e4a64d76eae9310da42ee490756337e
CRs-Fixed: 2338478
2018-10-26 10:38:59 -07:00
nshrivas
404eef6cba Release 5.2.0.103H
Release 5.2.0.103H

Change-Id: I21ebf0ebe12f1a55f7d364133a37ee19fba23a79
CRs-Fixed: 774533
2018-10-26 09:05:28 -07:00
Vignesh Viswanathan
363581803a qcacld-3.0: Send VDEV stop to the FW if ADD_BSS_REQ times out
Currently if ADD_BSS_REQ vdev_start request times out, the
wma_vdev_resp_timer notifies this as ADD_BSS_RSP with failure status
to the upper layer and the SAP FSM moves from STARTING to DISCONNECTED
state. After this the WMA_DEL_STA_SELF_REQ is sent to the FW which does
a VDEV delete. However in cases where the ADD_BSS_REQ has been sent to the
FW but the response has not been received, the FW has the VDEV in started
state and asserts if a VDEV delete is sent without sending a vdev stop.

Send VDEV stop to the FW in case of ADD_BSS_REQ times our in
wma_vdev_resp_timer.

Change-Id: Ib2b95d38cb7fd36b02a738a73dbc1f8102d2169e
CRs-Fixed: 2323293
2018-10-26 09:05:27 -07:00
nshrivas
4203b09c08 Release 5.2.0.103G
Release 5.2.0.103G

Change-Id: I9d394b19e22e9a8b23455bedac22bb3ab07a2f67
CRs-Fixed: 774533
2018-10-25 23:37:12 -07:00
Sandeep Puligilla
8345f3d0ec qcacld-3.0: Allocate scan filter memory from dynamic memory pool
csr_scan_get_result API defined 'struct scan_filter' of size
800bytes on stack and larger size memory blocks on stack is not
preferred because the stack size is limited.

Modified the memory allocation to dyanmic for scan filter.

Change-Id: I40cb0d97e0451d50aca3e9485327a4ce709e6020
CRs-Fixed: 2332496
2018-10-25 23:37:12 -07:00
Jeff Johnson
c171324c3d qcacld-3.0: Refine wlan_hdd_update_phymode()
Function wlan_hdd_update_phymode() is called from two ioctl handler
functions, __iw_softap_setparam() and __iw_setint_getnone(). Unlike
most of the ioctl "setter" functions which take two parameters (an
adapter and a value), wlan_hdd_update_phymode() currently takes four
parameters (a net device, a mac handle, an hdd context, and a value).

In addition, currently the HDD function with the highest cyclomatic
complexity is __iw_setint_getnone(). In order to reduce the complexity
of that function all of the switch/case handlers are being refactored,
and in anticipation of eventually using a vtable, the refactored
functions all expect two parameters, an adapter and a value.

In order to align with that goal, refine wlan_hdd_update_phymode() to
expect those same two parameters. Note that the net device, mac
handle, and hdd context that are currently being passed can all be
derived from the adapter.

Change-Id: Ib919e6751aee182e2d8fde90a8446935447123db
CRs-Fixed: 2338381
2018-10-25 06:34:52 -07:00
Jeff Johnson
5bee39bfe1 qcacld-3.0: Refactor WE_SET_TM_LEVEL processing
Currently the HDD function with the highest cyclomatic complexity is
__iw_setint_getnone(). The handing of WE_SET_TM_LEVEL has a complexity
greater than 1, so refactor that logic into a separate function to
help reduce the complexity of __iw_setint_getnone().

Change-Id: Ifa68b6553b6856a008aa37af55d2ca1760da0970
CRs-Fixed: 2338380
2018-10-25 06:34:52 -07:00
nshrivas
f1ef073b9e Release 5.2.0.103F
Release 5.2.0.103F

Change-Id: I19fb633d67f40b9279e8f9a23d3dcd847f8f9896
CRs-Fixed: 774533
2018-10-25 01:37:51 -07:00
Nirav Shah
179b986fb0 qcacld-3.0: Fix compilation issue in link layer stats featurization
Fix compilation issue in link layer stats featurization

Change-Id: I97e7fd08040d11bf5ee4acc07fd81723b5687e62
CRs-Fixed: 2317225
2018-10-25 01:37:50 -07:00
nshrivas
fb29125fa4 Release 5.2.0.103E
Release 5.2.0.103E

Change-Id: I31781f4a5a68afff1704953f08f1cdda6d5746f7
CRs-Fixed: 774533
2018-10-24 17:48:05 -07:00
Jeff Johnson
175004cd2e qcacld-3.0: Refactor WE_SET_MAX_TX_POWER_5_0 processing
Currently the HDD function with the highest cyclomatic complexity is
__iw_setint_getnone(). The handing of WE_SET_MAX_TX_POWER_5_0 has a
complexity greater than 1, so refactor that logic into a separate
function to help reduce the complexity of __iw_setint_getnone().

Change-Id: I3eb942b5bbed7cdc8199c5a4233b4443613023b0
CRs-Fixed: 2338379
2018-10-24 17:48:04 -07:00
Dustin Brown
62743f4c71 qcacld-3.0: Initialize out_mode in hdd_parse_driver_mode
gcc-4.8 incorrectly flags the use of @next_mode in __con_mode_handler as
potentially uninitialized, while newer versions do not seem to have a
problem. Work around the compiler quirk by initializing @out_mode in
hdd_parse_driver_mode.

Change-Id: Iee101db6eaded8e856e461458d6a80e8279e9ca1
CRs-Fixed: 2338538
2018-10-24 17:48:00 -07:00
Jeff Johnson
f3892b5d68 qcacld-3.0: Refactor WE_SET_MAX_TX_POWER_2_4 processing
Currently the HDD function with the highest cyclomatic complexity is
__iw_setint_getnone(). The handing of WE_SET_MAX_TX_POWER_2_4 has a
complexity greater than 1, so refactor that logic into a separate
function to help reduce the complexity of __iw_setint_getnone().

Change-Id: Ib6da540f9d96893899ad3865fd1c72e15a1c34bf
CRs-Fixed: 2338378
2018-10-24 17:47:56 -07:00
nshrivas
8592c39fcd Release 5.2.0.103D
Release 5.2.0.103D

Change-Id: Id8656554451473fa924ec475229ff265e2ced6ad
CRs-Fixed: 774533
2018-10-24 14:40:03 -07:00
Liangwei Dong
3774e5db94 qcacld-3.0: Add reason for opportunistic API
Add reason code return to caller to identify
the hw mode update reason.

Change-Id: I9c754626018ad7cd3f7dc1d287b834629e93dc17
CRs-Fixed: 2338089
2018-10-24 14:40:02 -07:00
nshrivas
42ad008d5b Release 5.2.0.103C
Release 5.2.0.103C

Change-Id: Ic26f5be9fe8702905efc8f3efe9714e16229790f
CRs-Fixed: 774533
2018-10-24 11:54:08 -07:00
Dustin Brown
c07ce8eb66 qcacld-3.0: Lightly refactor __con_mode_handler
There are a number of style issues in __con_mode_handler. In preparation
for additional work in this area, lightly refactor __con_mode_handler,
and address low hanging style issues.

Change-Id: I7ec7cfd369bd00a0f8acc612ebf92f7a30a7a360
CRs-Fixed: 2337850
2018-10-24 11:54:07 -07:00
nshrivas
e3a8ce28cf Release 5.2.0.103B
Release 5.2.0.103B

Change-Id: I1d5f0168710d6a24eb839e570435746606da589d
CRs-Fixed: 774533
2018-10-24 09:53:46 -07:00
Jinwei Chen
7abd27ed06 qcacld-3.0: limit the log rate for RX invalid peer processing
Limit the log rate to avoid excessive logging when host hanlde RX
data with invalid peer.

Change-Id: I5dba430809d7567905e919676d8cd3245906b884
CRs-Fixed: 2336919
2018-10-24 09:53:45 -07:00
stonez
26388d085a qcacld-3.0: Configure non aggr TX packet retransmission
Wireless application needs to tune parameters per AC based.
Such as VI/VO queue use the different re-transmission attempts
while other queue keeps the default value. It helps to improve
the video/audio performance in noisy environment. this change
add the ability to config re-transmission attempts of non
aggregation QOS packets.

Change-Id: I95404302463275803e3feff3038f04c900b14705
CRs-Fixed: 2323555
2018-10-24 09:53:32 -07:00
nshrivas
8e66eb6163 Release 5.2.0.103A
Release 5.2.0.103A

Change-Id: I352d9cb817f8637b3ca7ef87ee15e4675b81362c
CRs-Fixed: 774533
2018-10-24 08:17:34 -07:00
Ashish Kumar Dhanotiya
2ef479048d qcacld-3.0: Clear oldest cached sta information
Currently host is caching all the connected sta info
in case of SAP, once the sta count reaches to MAX, below
mentioned issues occurs:
1. Driver can not cache the information of newly connected
   stations.
2. Some of the info is cached at the time of connection while
   remaining info is cached during disconnection. In the
   disconnect path driver tries to cache some of the info
   such mc_bc count, disconnect reason code, since driver can't
   cache anymore info, it does not find the current station which
   is getting disconnected in cache sta info structure leading to
   an error, and driver is returning an error without completing
   the wait for disconnect event which is resulting in timeout.
Since sta_disconnect comes with rtnl_held, any other process
is not able to get the rtnl_lock until this timeout occurs.

To address this issue below mentioned two measures taken care:
Clear the oldest cached sta information and save the newly connected
station's information.
In the disconnect path, do not return any error and simply proceed
with disconnection as failure to cache the information of sta
should not stop the disconnection process.

Change-Id: Ia955a6774033fdfa91ff1fa7c8832b3ec7e8e1a0
CRs-Fixed: 2333075
2018-10-24 08:17:33 -07:00
nshrivas
89083f7f48 Release 5.2.0.103
Release 5.2.0.103

Change-Id: I545b43a29341977655e0f2632b43228e94ca6f7a
CRs-Fixed: 774533
2018-10-24 06:26:18 -07:00
Vignesh Viswanathan
a813462a02 qcacld-3.0: Fill Channel width for add_sta params from session entry
Currently the sta_context in add_bss params which is used to send the
peer_assoc command to the FW, the ht_enable and vht_enable are set based
on the AP's capability from the beacon. However, the channel width is
set based on the assoc response frame from the AP.

In a scenario where the AP advertises HT and VHT IEs in the beacon but
does not send HT and VHT IEs in the assoc response frame, we will end up
connecting in VHT/HT mode but with incorrect channel width.

Update the sta_context channel width also based on the AP's capability
from the beacon so that the connection would happen in the right channel
width even if HT/VHT IEs are missing in the assoc response frame.

Change-Id: Idb1907abebf32a34f88e935a30ebb8f1bce1d59c
CRs-Fixed: 2324434
2018-10-24 06:26:17 -07:00
nshrivas
96fd4a81e1 Release 5.2.0.102Z
Release 5.2.0.102Z

Change-Id: Ifdcbce6a6ff64e712c59f5aa3c703d68669a84ec
CRs-Fixed: 774533
2018-10-24 04:49:34 -07:00
Abhishek Singh
fc740bed63 qcacld-3.0: Fix e_sme_command_nss_update stuck issue
Update NSS command is remove once driver receive the tx completion
event for the beacon. If SAP is in CAC wait state driver will not
get the tx completion for the beacon and the update NSS will timeout
after 30 sec and the serialization cmds queues will get stuck.

To avoid this remove the update NSS command from active queue as
soon as beacon is sent to firmware

Change-Id: I6f5b6bce91bdfacd4621020f313be25f74696b9d
CRs-Fixed: 2332302
2018-10-24 04:49:34 -07:00
hangtian
5fe81f014a qcacld-3.0: Update chandef if choosing new channel for softap
Currently if hostapd choose channel 149, enable ieee80211d, and
select country_code JP. Driver will choose random channel after regd
updated to JP got from firmware. Since 149 is invalid for JP
country_code, driver choose random channel in JP channel list.
Driver indicate cfg80211 chandef is changed in hdd_chan_change_notify.
However, if we don't update cfg80211_ap_settings.chandef in
cfg80211_ops.start_ap, cfg80211 will copy old chandef back to
wdev->chandef after cfg80211_ops.start_ap.  Then reg_wdev_chan_valid
will return false and cfg80211_leave leads to stop
AP in reg_leave_invalid_chans.

Change-Id: I3f89da46b4172fdea2774703f32b9cbabff41eeb
CRs-Fixed: 2315627
2018-10-24 04:49:30 -07:00
nshrivas
c3b52360c6 Release 5.2.0.102Y
Release 5.2.0.102Y

Change-Id: Ie51702f7dde349d8341944f2479f305dfe84f080
CRs-Fixed: 774533
2018-10-24 03:17:03 -07:00
Wu Gao
70afa0e409 qcacld-3.0: Split PMO configures into different files
Split PMO configures into different files by feature. Remove
unnecessary macro limitation.

Change-Id: I1e431fd2f38988c771e02c979c5ce55d0627e605
CRs-Fixed: 2323999
2018-10-24 03:17:03 -07:00
nshrivas
f16d12c794 Release 5.2.0.102X
Release 5.2.0.102X

Change-Id: Id58143d21be2816fd5873c8926726212bfc214e6
CRs-Fixed: 774533
2018-10-24 01:45:09 -07:00
Rajeev Kumar
fe6e62f50f qcacld-3.0: Reset cfg_ctx to NULL after its freed
Reset cfg_ctx to NULL after its freed to avoid any use
after free.

Change-Id: Iff0eb6f6db5a1467913cebd09a424776ed3390c1
CRs-Fixed: 2337050
2018-10-24 01:45:08 -07:00
Dustin Brown
4c66322b99 qcacld-3.0: Abstract idle shutdown timer start/stop
The code to start and stop the idle shutdown timer in HDD is currently
copy-pasted in multiple locations. Abstract this logic behind two new
APIs, and call these APIs where appropriate.

Change-Id: I73b05e603454a4817cb9c1606c1207d7fe68e5ab
CRs-Fixed: 2337755
2018-10-24 01:45:05 -07:00