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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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