Commit Graph

359 Commits

Author SHA1 Message Date
Sridhar Selvaraj
8c6f5e82b0 qcacld-3.0: Changes to support FILS authentication
Add changes to add support of sending and parsing
authentication packets based on 80211ai specifications.

Change-Id: I684dbc89945ba3aef3186c872e5e1f7564d7e44c
CRs-Fixed: 2028113
2017-08-30 10:45:10 -07:00
Dustin Brown
100201ecca qcacld-3.0: Avoid recovery trigger while recovering
Currently, cds_trigger_recovery is unconditional. Instead, avoid
triggering recovery if recovery is already in progress.

Change-Id: I5c77048701930591e0e520e07275e6f8631108a0
CRs-Fixed: 2070845
2017-08-30 10:43:49 -07:00
Rajeev Kumar
db60f16253 qcacld-3.0: Register host trigerred self recovery callback from cds
Register host trigerred self recovery callback from cds such that
self recovery can be trigerred from everwhere.

Change-Id: I67f529dd1585cff2c444412321f54a0aedcf6b97
CRs-Fixed: 2083092
2017-08-22 16:05:33 -07:00
Prashanth Bhatta
87b6dc0a9f qcacld-3.0: Change semantics of Runtime Lock APIs
QDF Runtime PM lock APIs semantics are changed. Incorporate the
changes done in QDF for all the Runtime PM lock APIs.

CRs-fixed: 1116549
Change-Id: Ia701378031b7e9c01583eaef403e1219fdce47e3
2017-08-15 13:27:12 -07:00
Rajeev Kumar Sirasanagandla
686abd96f4 qcacld-3.0: Add support to randomize probe req SA and Seq number
qcacld-2.0 to qcacld-3.0 propagation

Randomize probe request's source address and sequence number to
improve user's privacy.

Change-Id: Ic367ce4578e65faf49e8092f0f8cce057eead728
CRs-Fixed: 1085995
2017-08-14 20:07:34 -07:00
Amar Singhal
fe715d46b5 qcacld-3.0: Add APL2_ETSIC regulatory domain
Add APL2_ETSIC regulatory domain for Indonesia.

Change-Id: Ia092e4b7633583f2d43ba984d6eeea5ad16341c7
CRs-Fixed: 2001221
2017-08-14 11:38:29 -07:00
Varun Reddy Yeturu
8a5d3d4775 qcacld-3.0: Fix logging levels - Part 3
Move the log messages to appropriate log levels so that
the console does not get a huge spam of unnecessary logs

Change-Id: I8e140039a3a483953606558e102db23ab8b0096a
CRs-Fixed: 2043741
2017-08-08 13:15:11 -07:00
Wu Gao
9a24fa7752 qcacld-3.0: Call htc stop in cds post disable
When driver unloading, htt tx detach and free tx desc, then flush
endpoint tx queue. A low rate case is that endpoint tx queue is not
empty with high latency platform, it will cancel tx and send packet
completion, then crash happens since of NULL point access.

Change-Id: I4918d4c678fffe8b07a1f3b1104e0732c5d960f8
CRs-Fixed: 2084045
2017-08-04 06:05:01 -07:00
Srinivas Girigowda
35b003149c qcacld-3.0: Fix clang warning: implicit conversion enum tDriverType
warning: implicit conversion from enumeration type 'tDriverType'
to different enumeration type 'enum driver_type' [-Wenum-conversion].

Move enum driver_type to QDF.

Change-Id: Ic89e4ee512a2d70c27324446257286aaafd49839
CRs-Fixed: 2055487
2017-08-03 19:48:58 -07:00
Liangwei Dong
ffd52d1f27 qcacld-3.0: Fix edca parameter issue
qcacld-2.0 to qcacld-3.0 propagation

Update EDCA parameter if the country is in European
Union based on new ETSI RED channel access parameters.

Change-Id: I08b1a0d7cd0ee1f6985cd0810c5c4c1108e582b4
CRs-Fixed: 2078985
2017-07-27 16:59:11 -07:00
Kapil Gupta
c1224bf234 qcacld-3.0: Changes to correct channel flags for vendor ACS
In the reg channel info which is sent to external channel
selection daemon, Some channel flags are missing which causes
application to select wrong channel.

Add changes to correct channel flags.

Change-Id: I80834dd7f5f4bfbd2fce88084a938356a741140c
CRs-Fixed: 2068354
2017-07-11 07:27:12 -07:00
Varun Reddy Yeturu
ba1942a040 qcacld-3.0: Fix CLANG warning for driver_type
Fix implicit conversion from type 'enum driver_type' to different
enumeration type 't_wma_drv_type'

Remove duplicate data structure

Change-Id: Iccf1bed796c0a67109788ce434ab9115b378dd43
CRs-Fixed: 2063149
2017-07-09 23:41:13 -07:00
Sameer Thalappil
ac5d26eb5e qcacld-3.0: Add support for host initiated recovery
If platform has a mechanism to initiate target assert, trigger
that interface to force assert target. Certain integrated platforms
(where WLAN runs on it's own PD) provides a mechanism to initiate PDR
from host. That interface can be triggered when WLAN host detect
timeout scenarios.

CRs-Fixed: 1110243
Change-Id: I6a9408f47ca4245380dbf4177363c3c461ff948d
2017-07-05 17:51:06 -07:00
Ashish Kumar Dhanotiya
9335d81f23 qcacld-3.0: Add host support to configure ITO repeat count
Add Host support to configure inactivity timeout repeated
count from ini.

Change-Id: I6b079ab55470838a9bf5488ec18dbd2977c3ee17
CRs-Fixed: 2066004
2017-07-05 05:50:39 -07:00
Rajeev Kumar Sirasanagandla
873b6d9b66 qcacld-3.0: Send proper CTL info to fw in world regd
Currently, for world regd and some other regds where conformance test
limit is NO_CTL, host is sending invalid CTL info to fw instead of
NO_CTL (0xff) due to type conversion issues.

To fix this, use proper unsigned type for CTL info.

Change-Id: I6aff04f0142b5c8e4ff2ea91d85ae7108390c89f
CRs-Fixed: 2056834
2017-07-04 03:45:22 -07:00
Hanumanth Reddy Pothula
2a8a740a4d qcacld-3.0: Add support for SSR within SSR
Add below changes to support SSR within SSR,
1.Add new driver state, CDS_DRIVER_STATE_BAD, which will be set
  on re-init failure and reset on re-init success and if this
  state is set, don't allow any north-bound calls.
2.Don't de-register wiphy/netdev on re-init failure.
3.BUG_ON if re-init or probe fails successively for two times.
4.During driver unload, don't wait for SSR to be completed.

Change-Id: Id05a3e4b592664c9b56c7dd83b965b973f1d5ca5
CRs-Fixed: 2037628
2017-07-03 19:54:20 -07:00
Hanumanth Reddy Pothula
0b5714337a qcacld-3.0: verify driver state when CDS scheduler getting closed
Presently, in cds_open() error handling, cds_sched_open is invoked only
in UNINTIALIZED or recovery state but same is not checked while invoking
cds_sched_close.

Invoke cds_sched_close only if driver is in UNITIALIZED state or WLAN
driver recovery is in progress.

Change-Id: I17e2cbe8f859cab4bc12d1a52a583833fb125ada
CRs-Fixed: 2010802
2017-07-03 18:24:45 -07:00
Ravi Kumar Bokka
05c14e5c50 qcacld-3.0: Auto Detect SoC Power Collapse Failure changes
Add host support for detecting SOC power collapse failures in FW and
communicating the same to framework.

Change-Id: Icee39c896802c4d7136e0b8ef442a33feeb4799c
CRs-Fixed: 1112979
2017-06-27 22:13:09 -07:00
Nitesh Shah
f9a09ff89a qcacld-3.0: Send DBS Scan selection policy command to WMI
This change address sending DBS Scan selection policy command
to WMI.

Change-Id: I0117845ac28e3ca8977eefc09b738a79181b4115
CRs-Fixed: 2029280
2017-06-14 08:23:57 -07:00
Nachiket Kukade
8003d257b9 qcacld-3.0: Add and use API to check FW Down indication bit during probe
When commands to Firmware fail during probe due to Firmware being down, in
most cases QDF_BUGs are hit, not allowing re-probing to take place. A new
API is defined to check if the failure is due to Firmware being down or not.
If so, return error gracefully allowing re-probing to take place

Change-Id: Ib2f21a6f1ced1c16e9d2bdbda810b160ff63e2c6
CRs-fixed: 2027444
2017-06-12 17:19:28 -07:00
Manikandan Mohan
fb9d2b5b34 qcacld-3.0: Use CDP API to configure interrupt
Use CDP API to configure the interrupt in cds open / close.
CDP API is mainly introduced to call detach interrupt before HTC
stop in cds close routine. This avoids race condition on interrupt
trigger.

Change-Id: Ib9a8e4014ad0bb5e3d1a691121c1069faa8c91e8
CRs-fixed: 2046062
2017-05-30 22:01:20 -07:00
Rajeev Kumar
be0212444b qcacld-3.0: Remove un-used cds_context argument from post_disable
cds_post_disable does not use cds_context argument hence remove it.

Change-Id: I44f78b5544431c2ebe06748c058ecb2279711ff9
CRs-Fixed: 2008071
2017-05-30 19:32:29 -07:00
SaidiReddy Yenuga
699d90e4b0 qcacld-3.0: Create and Destroy bug report lock over insmod and rmmod
Logging thread creates the bug report spinlock initially.
ifconfig thread tries to create the same spinlock
again, this leads to change in spinlock magic.

Create and Destroy the same lock on insmod/rmmod only.

CRs-Fixed: 2033886
Change-Id: Iea2fe4f9bd47b0d7f4ad1a176a361bac242b9d4d
2017-05-24 12:10:11 -07:00
Kiran Kumar Lokere
b1d412e15d qcacld-3.0: Add support for regulatory component ucfg apis
Add support for regulatory component ucfg apis to provide user
configuration

Change-Id: I994e53b17788472de979df9dce9e18c6f68de850
CRs-Fixed: 2012415
2017-05-18 13:42:29 -07:00
Manikandan Mohan
83c939c474 qcacld-3.0: Update for check patch refactoring
Host Target Communication module files are updated for check
patch warnings. Thus update dependent files.

Change-Id: Id37009ca13704beb0d8c4c28cc3eaff9cf930a0f
CRs-fixed: 2030824
2017-05-02 13:29:38 -07:00
Dhanashri Atre
f5e021251a qcacld-3.0: Hook-up the WMI callback for hash configuration
Add the WMI lro and hash configuration function to the DP
function table.

Change-Id: Ia9561bcb8793c35a0719939456b010a3529af9fc
CRs-Fixed: 2033532
2017-05-01 13:06:42 -07:00
Sravan Kumar Kairam
27296783b7 qcacld-3.0: Add runtime suspend and resume support in PMO
As part of UMAC componentization add runtime suspend and resume
support in PMO.

Change-Id: I120044bb5638ca75e6ac46b22bb194520da22fea
CRs-Fixed: 2030194
2017-04-27 12:39:56 -07:00
Arif Hussain
cd1516322d qcacld-3.0: Use dfs component support
Remove legacy dfs api’s and use dfs component.

Change-Id: Ia0fa016b174ef4b50e2cc339e4e476ec65642dbf
CRs-Fixed: 2021357
2017-04-25 01:08:44 -07:00
Hanumanth Reddy Pothula
63e25afa4e qcacld-3.0: Reduce time to wait for external threads completion
Presently, during unload, driver waits for max of 40sec if there are
any external threads. But if driver unload won't happen within 30sec
framework's watchdog kills system server, leading to device reboot.
Also this may lead to driver not to print external threads which got
stuck in driver.

To mitigate this issue reduce wait for external threads completion
to 20sec from 40sec.

Change-Id: I35cfb0ec20a7d4584196243ec0b1167b5eaa6bf0
CRs-Fixed: 2030112
2017-04-21 14:30:06 -07:00
Kiran Kumar Lokere
a3de226328 qcacld-3.0: Replace regulatory apis with reg component apis
Replace the legacy regulatory apis with regulatory component
public service apis

Change-Id: Ifd8c93fc8f57116cfc432b853248b35fd7ed1b94
CRs-Fixed: 2008013
2017-04-20 17:10:19 -07:00
Hanumanth Reddy Pothula
e87621b5ab qcacld-3.0: Add ini param to control active BPF for MC/BC packets
Add new ini parameter, gActiveMcBcBpfMode, to control active BPF
mode for MC/BC packets. By default its value is set disable.
Also, rename ini param name to gActiveUcBpfMode from gActiveBpfMode
and respective cfg variable name to active_uc_bpf_mode from
active_bpf_mode.

Change-Id: I1a42351585c34e7b6da8c26af9ac7b7abe0c0322
CRs-Fixed: 2032699
2017-04-20 08:55:02 -07:00
Sachin Ahuja
dddd263d8f qcacld-3.0: Add wait for timeout in state ctrl param
Currently wait for timeout happens in module_init which blocks
the driver loading in case of static driver

To mitigate this issue, wait is added in state ctrl param for DLKM,
static and load once and unload never driver types.

Change-Id: I1c2e427df3faa3cf68295868f6d98746e481987f
CRs-Fixed: 2012813
2017-04-19 14:14:14 +05:30
Pramod Simha
0d3b936d94 qcacld-3.0: Changing DBS query method from DP
Changing the method DP queries WMA regarding
DBS capability. Now his call will be made through
policy manager.

Change-Id: I32cd92f022cdfcffa8659344731223fefc6efc23
CRs-Fixed: 2025317
2017-04-18 15:15:53 -07:00
Amar Singhal
5cccafec64 qcacld-3.0: Wiphy initialization for regulatory offload
For regulatory offload, send the regulatory config settings to regulatory
component to compute the current channel list. Query channel list for
each band. Populate the channel list in wiphy. Also do not register
regulatory notifier with the kernel anymore.

CRs-Fixed: 2008013
Change-Id: Ia4995c7498d97fe1e37717e65daa9dcacb2f21b3
2017-04-16 15:58:42 -07:00
Arunk Khandavalli
fbc1ef059c qcacld-3.0: cds_sched close should not invoked as part of startup failure
cds_sched_open is invoked as part of hdd_wlan_start_modules and in case
of failure the cds_sched_close depending on the driver_State should
be closed as part of hdd_wlan_start_modules failure.

When the driver loads during the low memory condtion and if there
is any failure in the hif_open or cds_open start_modules returns
failure and as part of the failure cleanup cds_sched_close is getting
invoked which is waiting on completion for couple of events which
will not be set.

To mitigate the issue donnot invoke the cds_sched_close clean up during
the startup.

Change-Id: I51c67e7c723a06a8270c424f7e16ea45c6cd4012
CRs-Fixed: 2019986
2017-04-11 11:17:06 -07:00
bings
e278238ac1 qcacld-3.0: Fix channel weight in sap_sort_chl_weight_all
qcacld-2.0 to qcacld-3.0 propagation

Currently if acs configs channel width as 40/80MHZ, it may select
invalid channel as its second channel.
When doing sap_select_channel, if acs configs channel width as
40/80MHZ, every candidate channel and its adjacent channel should
be checked whether it can satisfy 40/80MHZ or not. Mark the weight
of the channel that can't satisfy 40/80MHZ as max value
in sap_sort_chl_weight_all, so it will not be selected.

Change-Id: I69abbb752be8d0fae2644a9000156735048d6d16
CRs-Fixed: 1085469
2017-04-11 04:16:40 -07:00
Ashish Kumar Dhanotiya
aa2b17c8d8 qcacld-3.0: Handle SSR Reinit failure gracefully
Presently on the re-init failure when the driver tries
to unregister the wiphy during the re_init failure
SSR timeout happens because the wiphy_unregister
would be waiting on the interface opencount to be set
to 0, it would happen only if the netdevice's are de-registered
with the kernel before wiphy_unregister

De-register the interfaces during the reinit failure so that
upper layer is blocked from accessing the driver and also have
a clean rmmod of the driver.

Change-Id: I3d97df19f6c59fcfd1d423d5cc4eae85040d4a97
CRs-Fixed: 2019989
2017-04-10 23:22:24 -07:00
Srinivas Girigowda
d395b89a43 qcacld-3.0: CDS: Reduce the log spam in kmsg
Move the logs to appropriate log levels to reduce
the log spam in kmsg.

Change-Id: Iaa3cc1925d0ddc59de910a2ad0d2090fec63c18a
CRs-Fixed: 2014745
2017-04-08 08:50:26 -07:00
Amar Singhal
966397f285 qcacld-3.0: Move dispatcher_psoc_close to beginning
So that wmi handle is still available, move dispatcher_psoc_close to
beginning of cds_close

CRs-Fixed: 2030449
Change-Id: I834c8994cbda4b413288921c3142984014621d65
2017-04-07 18:33:35 -07:00
Dustin Brown
8d2d0f57a5 qcacld-3.0: Expose WMI/Credit History debugging APIs via ioctl
Add an ioctl that allows a user to dump a specified number of records to
dmesg for WMI and Credit History.

Change-Id: I644dcf5edcb2f875af1e99e7b4677cde37081674
CRs-Fixed: 2028760
2017-04-06 10:58:54 -07:00
Dustin Brown
7011182571 qcacld-3.0: Prevent getting stuck in SSR with external thread
During driver recovery, following a crash in firmware, there is a
chance to get stuck waiting for the MC thread to exit after it has
already done so. This is due to an external thread being active in the
driver when it should not be possible. Improve logging in such cases
to find out which thread is running, and skip waiting for MC thread
shutdown if it is already stopped to prevent getting hung.

Change-Id: I53ddc3afb8561ecd2d6b708b6488c503068c49a6
CRs-Fixed: 2027020
2017-04-04 15:36:34 -07:00
Tushnim Bhattacharyya
ff6260d114 qcacld-3.0: Remove reference to legacy policy manager API
Remove reference to legacy policy manager API to cope with
the policy manager moving to host common.

Change-Id: I5d2d4f497b02a4c701cd83e319d533c328be48cd
CRs-Fixed: 2009818
2017-03-30 16:26:41 -07:00
Tushnim Bhattacharyya
12b4874f33 qcacld-3.0: Replace policy manager header file included in data path
Replace policy manager header file include as part of policy manager
moving to host common.

Change-Id: Ie1f9d6675cc373c3325c9e76514f48299932cdda
CRs-Fixed: 2009818
2017-03-30 16:26:36 -07:00
Tushnim Bhattacharyya
e2ee70a6b6 qcacld-3.0: Remove legacy code for policy manager restructuring
Remove legacy policy manager code as part of policy manager moving to host
common.

Change-Id: I6cb9fe12bee3702556c9b52e7ccb7c69c762d8de
CRs-Fixed: 2009818
2017-03-30 16:26:34 -07:00
Tushnim Bhattacharyya
9e81b4ca94 qcacld-3.0: legacy code change for policy manager restructuring
Modify legacy code to cope with the policy manager moving to host
common

CRs-Fixed: 2009818
Change-Id: Ifa27ecdf1e37eda6f929f89da603bc356e9cb7fd
2017-03-30 16:26:20 -07:00
Rajeev Kumar
86177c2c77 qcacld-3.0: Fix race condition between external threads and module stop
External threads and interface change timer are racing against each other
leading to various side effects. Fix the race condition between external
threads and interface change timer by leveraging existing ssr/driver
unload protection mechanism for module stop.

Change-Id: Ic3d6d516161afee1dd65abb8f1eafe160bea54ff
CRs-Fixed: 2021483
2017-03-29 12:28:46 -07:00
Himanshu Agarwal
0b9bbc3533 qcacld-3.0: Separate pdev detach processing as per pdev attach
Separate out pdev detach processing as ol_txrx_pdev_detach()
and ol_txrx_pdev_pre_detach() corresponding to pdev attach
functions ol_txrx_pdev_attach() and ol_txrx_pdev_post_attach()
respectively.

Change-Id: I7fdbe70ad8262a57b61a742fcfb2779e323172af
CRs-Fixed: 2010653
2017-03-24 00:57:37 -07:00
Jeff Johnson
560dc56d97 qcacld-3.0: Fix "no space before tabs" style errors
Automated code style checker detected multiple instance of "no space
before tabs," so fix those issues.

Change-Id: I93248e3cfafa047c4fa8c9553769f9457086d01a
CRs-Fixed: 2021507
2017-03-23 17:00:48 -07:00
Venkata Sharath Chandra Manchala
8398563492 qcacld-3.0: TxRx statistics for Lithium datapath
Introduce a new iwpriv command txrx_stats to
print both host and firmware stats for Lithium
chipset

Change-Id: If37b798a117446e9fbb369823977fa312872ed48
CRs-Fixed: 2017426
2017-03-22 17:55:36 -07:00
Krishna Kumaar Natarajan
4f1d7724a8 qcacld-3.0: [11AX] Add dot11mode changes to support 11ax
Add new dot11mode and update the utility functions to derive
the dot11mode based on the userspace config, INI config and
FW capability.

Change-Id: I5780120ef7bc2b78fd596e937fe14a2c8ad88348
CRs-Fixed: 1073481
2017-03-22 09:09:29 -07:00