Commit Graph

2276 Commits

Author SHA1 Message Date
Arunk Khandavalli
4cc97a9b18 qcacld-3.0: set global context to NULL only when all the cleanup is completed
In cds_deint, cds global context is set to NULL and then cleanup handlers of
memory/timer/nbuf manager's are invoked. During the cleanup these handlers
use QDF_TRACE to print the cleanup information which internally tries to
get the global context resulting in not clean unload of driver.

To migitate the issue set global context to NULL once the clean up of
all handlers is completed cleanly.

Change-Id: Ic58962dfd543020d79cabd7b646e483c4f7961f2
CRs-Fixed: 1067340
2016-10-03 16:43:26 -07:00
qcabuildsw
1e74c220de Release 5.1.0.28N
Release 5.1.0.28N

Change-Id: I24f1df691bef136a9e031eaae630637f4cec929e
CRs-Fixed: 688141
2016-10-03 16:43:25 -07:00
Naveen Rawat
8cc23b0d9a qcacld-3.0: Update host DBS policy manager in roaming operations
Firmware DBS mode is updated during firmware based roaming. Same change
is reflected in the host policy manager. Process hw_mode TLV in roam sync
indication event. Update cds concurrency policy after roaming. Handle
exceptions for ROAM_ABORT and HO_FAIL conditions.

Change-Id: I826c6766f73441256e5946d3167966e645f23430
CRs-Fixed: 1044336
2016-10-03 16:43:23 -07:00
qcabuildsw
5387b81ed9 Release 5.1.0.28M
Release 5.1.0.28M

Change-Id: I0b7c92495155593c3439eb07711e2355214a808d
CRs-Fixed: 688141
2016-10-03 16:43:22 -07:00
Naveen Rawat
a410c5a9c2 qcacld-3.0: Send self HT/VHT caps per band IE at hdd_init_station_mode
In function lim_send_ht_vht_ie per band HE/VHT IE being sent to firmware
are being populated as per hardware mode (DBS/Non-DBS). Change that to
absolute self HT/VHT capability.

Change-Id: I3e74ffb89fcdc2903ecaa3c1bb3e4aeffd4f8f35
CRs-Fixed: 1069032
2016-10-03 16:43:20 -07:00
qcabuildsw
cfd09e495f Release 5.1.0.28L
Release 5.1.0.28L

Change-Id: I28a3bd264ff928bffac46e2e7a7e2dbb95104212
CRs-Fixed: 688141
2016-10-03 16:43:19 -07:00
Hanumanth Reddy Pothula
7d51b1d1fd qcacld-3.0: Reject same con_mode change request from the user
In the present implementation driver directly switches to con_mode
requested by user eventhough it is in the same mode as requested by
the user. Also, con_mode_handler relies on the station adapter
to switch between modes, if current con mode is other than STA mode
then handler returns failure, without processing con mode change.

In con mode handler add check if user trigger con mode is same as
the current con mode, as driver is already in same mode and get
valid adapter context based on con mode.

Change-Id: If7ee95f7ce5c2e6f85c1245bdf4cdfa3d0f16d53
CRs-Fixed: 1069408
2016-10-03 16:43:16 -07:00
qcabuildsw
4759877dbf Merge "Release 5.1.0.28K" into wlan-cld3.driver.lnx.1.1-dev 2016-10-03 15:21:56 -07:00
Service qcabuildsw
bf189c2985 Merge "qcacld-3.0: Enable gExtScanEnable by default" into wlan-cld3.driver.lnx.1.1-dev 2016-10-03 15:16:50 -07:00
qcabuildsw
2cafbf0384 Release 5.1.0.28K
Release 5.1.0.28K

Change-Id: Ida143b9dae3ed0bd12c29626899df302fd4668f4
CRs-Fixed: 688141
2016-09-29 19:22:49 -07:00
Arif Hussain
8fba6693aa qcacld-3.0: Enable gExtScanEnable by default
INI support to enable/disable extscan is added recently and
by default it is disabled. Make it enable by default.

Change-Id: I4cd10915aa0d99db233bf8813e15abfc49539594
CRs-Fixed: 1071385
2016-09-29 19:22:48 -07:00
Agrawal Ashish
467dde4b12 qcacld-3.0: Implement vendor command to avoid freq in SAP
qcacld-2.0 to qcacld-3.0 propagation

Add support for vendor command which ask the driver
to restart the SAP if SAP is on unsafe channel.
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY is used to send
driver to restart SAP device if SAP is on any unsafe channels.
Upon receiving this command, driver will restart the SAP device
if SAP is operating on any of one the unsafe channels.

Change-Id: I187a6e0c9f3eaa96c740e50c332a7aba5796dc74
CRs-Fixed: 998048
2016-09-28 21:21:54 -07:00
Agrawal Ashish
21ba257842 qcacld-3.0: Implement vendor command for STA ROAM POLICY
qcacld-2.0 to qcacld-3.0 propagation

Add support for vendor command which informs the driver about
sta roam policies about dfs mode and unsafe channels.
QCA_NL80211_VENDOR_SUBCMD_STA_CONNECT_ROAM_POLICY sends
QCA_WLAN_VENDOR_ATTR_STA_DFS_MODE &
QCA_WLAN_VENDOR_ATTR_STA_SKIP_UNSAFE_CHAN
attributes to driver to skip scan channels for station
connection or roaming.
If QCA_WLAN_VENDOR_ATTR_STA_DFS_MODE is disabled, station will skip
dfs channels in scanning.
If QCA_WLAN_VENDOR_ATTR_STA_SKIP_UNSAFE_CHAN is disabled, station
will skip unsafe channel in scanning.

Change-Id: I33dfa174d218a2f39fec3ffc240dad793b72b14b
CRs-Fixed: 999169
2016-09-28 21:21:07 -07:00
Agrawal Ashish
6563461fa7 qcacld-3.0: Implement vendor command for ACS policy
qcacld-2.0 to qcacld-3.0 propagation

Add support for vendor command which informs the driver about the
ACS policy.
QCA_NL80211_VENDOR_SUBCMD_ACS_POLICY is used to inform driver about
ACS policies.
QCA_WLAN_VENDOR_ATTR_ACS_DFS_MODE attribute tells if DFS channel
should be enabled or disabled in ACS.
QCA_WLAN_VENDOR_ATTR_ACS_CHANNEL attribute provides channel number to SAP
module to skip ACS and use this channel as operating channel.

Change-Id: I1ba69ed8fdf1c56a90e857054c725b830293d6bf
CRs-Fixed: 997433
2016-09-28 10:14:15 -07:00
qcabuildsw
727ffac40b Release 5.1.0.28J
Release 5.1.0.28J

Change-Id: I24dc5796f1be474c13cc81c5650690477375b1e8
CRs-Fixed: 688141
2016-09-28 09:41:00 -07:00
Krunal Soni
499d364340 qcacld-3.0: Fix dwell-time when 2G-SAP is active and DBS is supported
Old generation of projects, which had only one MAC, are restricted to
use 28ms of fix active and passive dwell time when SAP session is active
but with new generation of projects, which can have two MACs, are
permitted to use longer active and passive dwell time when SAP session
is active on 2G band and DBS is supported.

Change-Id: I2638d9b7a3677c3f0b329ed8109d01baa2cffd68
CRs-Fixed: 1071353
2016-09-28 09:40:21 -07:00
Krunal Soni
5c39016d59 qcacld-3.0: Update CFG after taking intersection of INI & hw caps
Current driver is updating HT & VHT RX LDPC cap in CFG based on INI
only which is not correct.
Take the intersection of INI items and hw caps for HT & VHT RX LDPC and
update the CFG accordingly.

Change-Id: Ibef165b61c2242d8fec6da7f7a2ce3e8d5c5aa11
CRs-Fixed: 1069659
2016-09-28 09:38:53 -07:00
Krunal Soni
df0f8742c0 qcacld-3.0: Refactor few APIs related to updating config in HDD
Refactor following HDD APIs to match coding standard:
hdd_update_vht_cap_in_cfg
hdd_update_ht_cap_in_cfg
hdd_update_config_dat

Change-Id: I0da05cad92a558aa4ca5dc585d80adb3a8ea9f1e
CRs-Fixed: 1069659
2016-09-28 09:37:54 -07:00
Krunal Soni
6c7c39fd27 qcacld-3.0: Reorganize VHT caps from hdd_update_config_dat API
Reorganizing VHT caps from hdd_update_config_dat API before refactoring
it.

Change-Id: Id9b514590185f331c7437d5e20259b14411a40dc
CRs-Fixed: 1069659
2016-09-28 09:36:56 -07:00
Krunal Soni
52198e44db qcacld-3.0: Reorganize HT caps from hdd_update_config_dat API
Reorganizing HT caps from hdd_update_config_dat API before refactoring
it.

Change-Id: I3ec667873952f1a4f2ce8414960b7d936fc93d90
CRs-Fixed: 1069659
2016-09-28 09:35:08 -07:00
qcabuildsw
71c0c2b698 Release 5.1.0.28I
Release 5.1.0.28I

Change-Id: I6b4301cad3754dc7cda85f49f7aaebb0896e6a73
CRs-Fixed: 688141
2016-09-27 20:14:06 -07:00
qcabuildsw
4a03c3c1ed Release 5.1.0.28H
Release 5.1.0.28H

Change-Id: I00b5dcc0bf86e7b829cef4703821103ea8f8ffd8
CRs-Fixed: 688141
2016-09-26 15:04:21 -07:00
Yuanyuan Liu
f97e822df4 qcacld-3.0: Use PLD API to get SOC serial number
Socinfo API is not a standard system API. Hence, use PLD API to get
SOC serial number instead of calling socinfo API directly to enhance
driver portability.

Change-Id: I1d673d2f3b0066f4e05f2f465abc8a6cad7a1f8f
CRs-Fixed: 1069480
2016-09-26 15:04:21 -07:00
qcabuildsw
8716fb891b Release 5.1.0.28G
Release 5.1.0.28G

Change-Id: I3b13a9f1c856b13ac5e0a45134b7b74f08cd4f0e
CRs-Fixed: 688141
2016-09-26 14:05:16 -07:00
Naveen Rawat
3ca7483971 qcacld-3.0: Fix NSS being sent to firmware
Send NSS value to firmware in update_nss as received from AP
in OTA frame, VHT Operation notifcation IE.

Change-Id: Iad92cc3ce634b69397666f574917b5254a73dcda
CRs-Fixed: 1070224
2016-09-26 14:05:13 -07:00
qcabuildsw
994d423a61 Release 5.1.0.28F
Release 5.1.0.28F

Change-Id: I6fa4708d7bbb66697dfb8c486ae2703c50afc79d
CRs-Fixed: 688141
2016-09-26 12:24:27 -07:00
Selvaraj, Sridhar
9a9266eac5 qcacld-3.0: Start BSS on operating band based on ACS hw mode
qcacld-2.0 to qcacld-3.0 propagation.

Currently, SAP start's on 2.4ghz channels on detecting unsafe
channels even though operating band ACS hw mode is configured
on 5ghz channels.

Fix is to start BSS on band based on ACS hw mode

Change-Id: I210937b4b464c408d5a22c348c028fa9a11b2142
CRs-Fixed: 1005327
2016-09-26 12:24:26 -07:00
qcabuildsw
ff259891b0 Release 5.1.0.28E
Release 5.1.0.28E

Change-Id: Ied6f8ee4c84b71ead829d89cdef74a71b6fccb46
CRs-Fixed: 688141
2016-09-26 04:49:41 -07:00
Komal Seelam
498a0cd665 qcacld-3.0: Optimize WoW Wakelock usage in Runtime PM
propagation from qcacld-2.0 to qcacld-3.0.

FW sends NACK for WOW command to indicate Host to abort on going
suspend. Host prevents suspend by holding a wakelock for 1sec.
The wakelock prevents APPS supsend, but doesn't have impact on
Runtime PM. Hence Skip Holding Wakelock when NACK is recieved
in Runtime PM.
And Log the runtime stats when link resume fails.

Change-Id: I6d9385565c6d06a082e226d5211c733d124bd3a7
CRs-Fixed: 1053252
2016-09-26 04:49:41 -07:00
Komal Seelam
78ff65a8c6 qcacld-3.0: Add NL event to indicate SSR shutdown is triggered
propagation from qcacld-2.0 to qcacld-3.0.

On Dual-WiFi Platforms, Radio Device 1 (R1 - SDIO interface) should
be functional only if Radio Device 0 (R0 - PCIe interface) is active.
If SSR is indentified on R0, indicate userspace application to unload
R1 on this event and Reload R1 once R0 SSR and reload is complete.

CRs-Fixed: 1046397
Change-Id: I8a06b569fe536bb93dbb37bdb289295bfce62f6e
2016-09-26 04:49:39 -07:00
qcabuildsw
e492bfefbf Release 5.1.0.28D
Release 5.1.0.28D

Change-Id: I15e10bc6e2c7bbdde44b9d8cd4b4f57e7816a2d5
CRs-Fixed: 688141
2016-09-25 21:47:25 -07:00
Archana Ramachandran
31b5b65aba qcacld-3.0: Reduce the log level of p2p scan messages
Change the log level of p2p scan messages from error
to correct log level since they are not error messages.

CRs-Fixed: 1069559
Change-Id: I68d5f6addc53e76536a989cfa7bf131f20b8dcd2
2016-09-25 21:47:25 -07:00
qcabuildsw
e95a6cbb1b Release 5.1.0.28C
Release 5.1.0.28C

Change-Id: I1288b3692e9f713fc6482b7631f21192765a8ab6
CRs-Fixed: 688141
2016-09-24 13:03:51 -07:00
Mukul Sharma
8d2d9ecdca qcacld-3.0: Cache ARP/NS offload request at wma layer
qcacld-2.0 to qcacld-3.0 propagation

As Current WMI interface need both the ARP/NS configuration
in single command. To support active offload host need to
cache the ARP/NS at wma layer so host can fill the other
request and configure down to firmware complete request
(ARP+NS).

Change-Id: Ie0a57d216379817ff0ae48f4f582c9108e8ecca1
CRs-Fixed: 1059739
2016-09-24 13:03:50 -07:00
qcabuildsw
4133c00bec Release 5.1.0.28B
Release 5.1.0.28B

Change-Id: I7badaed9a12e97e114a0b9d87b97d16b52a7654d
CRs-Fixed: 688141
2016-09-23 19:20:46 -07:00
Jeff Johnson
cb331d92d9 qcacld-3.0: Converge gScanAgingTime & gScanResultAgeCount
There is a desire to remove unnecessary items from the default version
of WCNSS_qcom_cfg.ini that is shipped to customers. Currently the
default WCNSS_qcom_cfg.ini contains the following entries:
    gScanAgingTime=30
    gScanResultAgeCount=1

The associated default values within the driver are:
    define CFG_SCAN_AGING_PARAM_DEFAULT (60)
    define CFG_SCAN_RESULT_AGE_COUNT_DEFAULT (3)

These are obviously divergent and should be converged.  Since all
recent testing has used the default WCNSS_qcom_cfg.ini, converge on
the values defined there.

Change-Id: I4b75590c44a94b9b95fbd47cf147137d4f695e51
CRs-Fixed: 1070145
2016-09-23 19:20:45 -07:00
qcabuildsw
5e2f8f2345 Release 5.1.0.28A
Release 5.1.0.28A

Change-Id: Ic84ce2ad98ccc5ff8d11883edd041c934c1a32d3
CRs-Fixed: 688141
2016-09-23 18:29:01 -07:00
Dustin Brown
2d228235da qcacld-3.0: Improve suspend/resume logging
Ensure logging messages in the suspend/resume paths use hdd_err() for failure
and hdd_info() for success. Also, evaluate existing messages, and polish if
appropriate.

Change-Id: I8b9509cf631058602ad6e8cd06a013af63624f00
CRs-Fixed: 1070223
2016-09-23 18:29:00 -07:00
Dustin Brown
6126946bbb qcacld-3.0: Increase the number of MC filters to 32
Currently the max number of MC filters is set to 10, and MC address
filtering is not being properly disabled when this maximum is exceeded.
Increase the MC filters to 32, and disable MC filtering when the
maximum is exceeded.

Change-Id: I124b616be726abfe0739ca539d97965161285da9
CRs-Fixed: 1068479
2016-09-23 18:28:59 -07:00
qcabuildsw
bcbc55ce35 Release 5.1.0.28
Release 5.1.0.28

Change-Id: I9b70bf83c26ba7bc79707529e5e991bca0dc3923
CRs-Fixed: 688141
2016-09-23 17:39:38 -07:00
Hanumanth Reddy Pothula
c1c4d2b55b qcacld-3.0: While starting adapters, on interface down, go to next adapter
During re-init of SSR, host restarts adapters one by one, by
traversing adapterNode link-list, whose all interfaces are up.
But if any of adapter's interface is down, then driver will be
in infinite loop as its not traversing to next adapter node.

So, on adapter's interface down, go to next adapter node to
break infinite loop.

Change-Id: I334a6304578d833485b58b2f6f494b4556c781ed
CRs-Fixed: 1069498
2016-09-23 17:39:37 -07:00
qcabuildsw
8d9020fca4 Release 5.1.0.27Z
Release 5.1.0.27Z

Change-Id: I4bbba75869fac102b6646c48323624b080faafa1
CRs-Fixed: 688141
2016-09-23 15:43:37 -07:00
Srinivas Dasari
947abd7a4d qcacld-3.0: Allow querying for DFS capability even if iface is not up
wpa_supplicant queries for DFS capability as part of
initialization and the interface is not up by then. So, allow
userspace components to query for the same even if the interface
is not up.

Change-Id: I2b8dc04260e1cbe007fda4be7f1b8aa196ae7a79
CRs-Fixed: 945597
2016-09-23 15:43:37 -07:00
qcabuildsw
11fdbf0921 Release 5.1.0.27Y
Release 5.1.0.27Y

Change-Id: Id7a1ea09f6d57939fc37dead636f0970573dea2d
CRs-Fixed: 688141
2016-09-23 03:20:20 -07:00
Yuanyuan Liu
16a556259b qcacld-3.0: Clean up PLD source files and remove unused function
Clean up PLD source file by moving one-line function calls to
header file and make it static inline. Also, remove unused function.

Change-Id: Ibaa7357db4ac305f0bab9d8ad2f7dfe9351fda7d
CRs-Fixed: 1070075
2016-09-23 03:20:19 -07:00
qcabuildsw
c986846672 Release 5.1.0.27X
Release 5.1.0.27X

Change-Id: I90ff63d67b37f2edc12f98b3d39a0403e3d06ec2
CRs-Fixed: 688141
2016-09-23 02:21:18 -07:00
Rajeev Kumar
fb02a5e3ed qcacld-3.0: Fix kernel panic during driver load failure
In low memory conditions TX/RX histogram memory allocation failure
is not handled properly and because of it 2 kernel panics are observed.
1st kernel panic is caused when freed HDD context is de-referenced in
hdd_wlan_startup and 2nd kernel panic is caused by kernel wake lock
list corruption because WLAN driver during load failure corrupted kernel's
wake lock list.

As part of this fix make sure TX/RX histogram memory allocation failure
is handled gracefully by properly sending failure reason code to
hdd_wlan_startup.

Also in order to make fix complete and avoid any other kernel panic, deinit
HDD context properly by freeing all HDD created wake locks such that when
HDD context is freed its wake locks are not poisoned to 0x6b6b6b6b6b6b6b6b
(SLUB magic pattern) pattern by kernel and hence corrupting kernel wake lock
list.

This fix ensures driver load failure caused by TX/RX histogram allocation
failure is handled gracefully in low memory conditions without leading to
any kernel panic.

Change-Id: I17a46c346402642f39e6548cd40bedd1f7ff96a4
CRs-Fixed: 1069014
2016-09-23 02:21:17 -07:00
qcabuildsw
58aae0e57e Release 5.1.0.27W
Release 5.1.0.27W

Change-Id: Ibc225498c14cca3d46ab0e86157bc368f027171f
CRs-Fixed: 688141
2016-09-23 01:22:51 -07:00
Krunal Soni
edb38f950f qcacld-3.0: Disable all dual mac features when DBS is disabled from INI
Current driver doesn't send WMI command to notify firmware to disable
all dual mac features when DBS is disabled from INI.

Disable dual mac features including all scan policies when DBS is
disabled from INI.

Change-Id: Id452c1de795dbeb7dc897a71e1578731d9dad2f9
CRs-Fixed: 1069650
2016-09-23 01:22:50 -07:00
qcabuildsw
17159c5cb8 Release 5.1.0.27V
Release 5.1.0.27V

Change-Id: I9bb602e481810dabd7bf71f12d33ccf7fcf78668
CRs-Fixed: 688141
2016-09-22 16:27:39 -07:00