Commit Graph

41 Commits

Author SHA1 Message Date
Kiran Kumar Lokere
999e58c920 qcacld-3.0: Remove the cb_mode usage in channel bonding
Remove the CB mode usage in channel bonding since the center
center frequency is calculated using channel width and channel
number.

Change-Id: Ie9685a833750bf3b69cce40c5d9587fb9b232047
CRs-Fixed: 962174
2016-02-08 15:50:40 -08:00
Govind Singh
24db1ed70b qcacld-3.0: Fix build failure in cds module
pRoamInfo is not initialized in cds_force_sap_on_scc function.
This is resulting in build failure when FEATURE_WLAN_FORCE_SAP_SCC
flag is enabled. Modify cds_force_sap_on_scc function to fix the same.

CRs-Fixed: 953618
Change-Id: I136d33f108dab19c236c7bf1aadf7608c0673baf
2016-02-08 15:50:40 -08:00
Prashanth Bhatta
915b9d342f qcacld-3.0: Use CDF APIs for spin lock
sched_scan_lock and connection_status_lock's are using spin lock
APIs directly from kernel. Change to use CDF APIs for spin lock.

Change-Id: I0f56624df34682150b402fc36b9dfdba36a598f3
CRs-fixed: 959287
2016-02-08 15:50:39 -08:00
Houston Hoffman
a2cdf2284e qcacld-3.0: Rename cdf_sched_work to cdf_schedule_work
The api is clearer without the abreviation. The api is
cleaner without an unused cdf_handle. Also remove
unnecessary cdf_schedule_work api.  cdf_create_work
is also cleaner without cdf_handle.

Change-Id: Id8c32596a92184d6768e2bc3210c308b44da2a57
CRs-Fixed: 935297
2016-02-08 15:50:39 -08:00
Tushnim Bhattacharyya
24e12a6966 qcacld-3.0: Add config for the MCC restriction on Adrastea emulation
On M2M emulation platform we have a fixed mapping between macs, hence
vdev transition & MCC support is not possible on this platform. But MPR
platform doesn't have these limitations. This config allows at runtime
enable/disable vdev transition & MCC support depending on the platform
it is running on.

Change-Id: I17a92dce695ee30f7994f040d4bc612a38680f3e
CRs-fixed: 922181
2016-02-08 15:50:39 -08:00
Tushnim Bhattacharyya
4adb368b6a qcacld-3.0: cleanup cds_concurrency files
Code cleanup & update of correct copyright information.

Change-Id: Icee77761cf00cee3b633bd260d5af38286a4f22c
CRs-fixed: 956394
2016-02-08 15:50:39 -08:00
Prashanth Bhatta
9e14305000 qcacld-3.0: Maintain driver state in CDS
Driver state of loading, unloading, logp are maintained in
multiple modules like HDD, CDS. Change to maintain the driver
state in CDS and provide CDS APIs to find out the state of the
driver so that any of the module can query it.
Also rename the logp to recovery in progress for clarity purpose.

Change-Id: I8e1864e1bc7f3b1dd6f4eb804ce2578c6695967d
CRs-fixed: 958659
2016-02-08 15:50:38 -08:00
Yuanyuan Liu
fd9bfc50d6 qcacld-3.0: Add cdf_mem_exit cdf_mc_timer_exit when wlan exits
cdf_mem_exit cdf_mc_timer_exit are missing from hdd_driver_exit.
Add them back so that wlan driver exits properly.

Change-Id: I571f65118a1755d2f43c29e8320563a43b49e713
CRs-Fixed: 951519
2016-02-08 15:50:38 -08:00
Deepak Dhamdhere
68929ec509 qcacld-3.0: Optionally report raw rssi value to supplicant
qcacld-2.0 to qcacld-3.0 propagation

Add raw rssi in the beacon header from WMI to beacon descriptor.
Pass it up to SME and report it to supplicant through a call to
wlan_hdd_cfg80211_inform_bss_frame().
It can be enabled as a .ini configuration parameter "gInformBssRssiRaw".
Default is 1, it will report raw rssi by default.
Roaming decisions are based on rssi field of beacon descriptor,
its interpretation and usage are unchanged.

CRs-Fixed: 815344
Change-Id: I6dacdc0b333c093d16a74f8cf36471dfc183ce56
2016-02-08 15:50:37 -08:00
Tushnim Bhattacharyya
ca50b3204f qcacld-3.0: cleanup cds_concurrency files
Remove hdd context from argument list of all the cds concurrency
APIs.

Change-Id: Ic9f94ab2e0f975a745776675c254ecbd5ba6b203
CRs-fixed: 956394
2016-02-08 15:50:37 -08:00
Peng Xu
f5d60c8524 qcacld-3.0: Clean up usage of con_mode
Separate con_mode from adapter mode definition and clean up usage of
con_mode.

CRs-fixed: 917959
Change-Id: Ia058826cdb873558ab8703fcd4f80d37d3f782df
2016-02-08 15:50:37 -08:00
Krunal Soni
80aabd4583 qcacld-3.0: Do not allow STA scan on IBSS channel's band
As per the requirement when IBSS connection co-exist with STA
connection and scan request is coming from STA adapter,
don't include those channels which fall in same band as IBSS
channel's band.

Change-Id: Ifb42ea6b463bd5020bf544eee504b9c3ceefcfc2
CRs-Fixed: 953788
2016-02-08 15:50:34 -08:00
Tushnim Bhattacharyya
da030cbca6 qcacld-3.0: dump IBSS concurrency information
Dump IBSS related concurrency information

Change-Id: Id69bfa3681f38f9af376590f6bcc668f146ed9e8
CRs-fixed: 941652
2016-02-08 15:50:34 -08:00
Krunal Soni
7bc4f912e9 qcacld-3.0: Add support for IBSS+SAP
Provide necessary code changes to support IBSS+SAP concurrency for
emulation platform only.

Change-Id: I76dc023bd48ee79ba706f5a7009b1d8462c6b712
CRs-Fixed: 953796
2016-02-08 15:50:33 -08:00
Krunal Soni
2c68f23ccc qcacld-3.0: add support for IBSS+STA concurrency
Make necessary changes to support IBSS+STA concurrency for SCC and
2G+5G MCC. Don't support intraband MCC due to known limitation
for this specific concurrency.

Change-Id: I325b5f51abeee3da0a75f90723c8b882f71dbef2
CRs-Fixed: 953788
2016-02-08 15:50:33 -08:00
Manikandan Mohan
22b8372341 qcacld-3.0: Fix MDM compilation errors
Fix compilation errors in MDM features and when compiled against
MDM kernel

Change-Id: Iee8fb5f88bfff22117e087f8879d4caf50a945c1
CRs-fixed: 952116
2016-02-08 15:29:28 -08:00
Ryan Hsu
d7e6fc7aa6 qcacld-3.0: Clean up inappropriate HDD API in CDS
Clean up the hddLog API and CDF_MODULE_ID_HDD with CDS_TRACE
misused in CDS module.

Change-Id: I786fa1ba216b42a6218f7eadba60ee7e5e82ebe5
CRs-fixed: 948327
2015-12-28 22:35:56 -08:00
Srinivas Girigowda
fe3e5b34cf qcacld-3.0: Process WOW wake up event in the tasklet context
This is a qcacld-2.0 to qcacld-3.0 propagation.

Currently WOW wake up event is processed in work thread which may be
delayed to schedule. Directly complete the event in tasklet in order
to proceed it in time. Also make sure the WOW wake up event handler
is in atomic context.

Change-Id: Ie6015d39321c7759b35f05acc7833ef8974c0157
CRs-Fixed: 900629
2015-12-28 22:35:56 -08:00
Amar Singhal
01098f7526 qcacld-3.0: Remove the obsolete LINUX VERSION checks
We already know kernel version is more than equal to 3.10.
So remove static checks for any previous kernel.

Change-Id: I4e17614fae47782a02dd528c7b4adf3d2802ec69
CRs-Fixed: 920681
2015-12-28 22:35:55 -08:00
Prashanth Bhatta
5da711e712 qcacld-3.0: Clean-up module init and exit
In module init, bunch of initializations are done which are not
required till probe call back gets called. Also in module exit,
some clean-up done which should wait till remove call back gets
called. Move the initialization done in module init to probe call back and
clean-up done in module exit to remove call back.

Change-Id: Id4a0cb21300de1ceab8ed043638b735f31d516d4
CRs-fixed: 950170
2015-12-28 22:35:55 -08:00
Nirav Shah
331172a1d9 qcacld-3.0: Use appropriate list API
Use list_for_each_entry_safe API to traverse list
while deleting list entry in cds_drop_rxpkt_by_staid
to avoid crash.

CRs-Fixed: 943767
Change-Id: I4d09fd88f0faefacfc886866d9045b09feeb4432
2015-12-28 14:20:47 -08:00
Peng Xu
4aeef3c7aa qcacld-3.0: Don't allow two P2P GO interfaces on the same band
In P2P GO + GO concurrency case, only DBS mode is supported for
the two interfaces. Second P2P GO interface startup is blocked
if its channel is on the same band as the first P2P GO interface.

Change-Id: Ic85bd8f92983c8c08f61fdaf09be1ad13a17cd8f
CRs-fixed: 945804
2015-12-28 14:20:43 -08:00
Gupta, Kapil
121bf2115a qcacld-3.0: Support for handling of op class in xcsa action frame
qcacld-2.0 to qcacld-3.0 propagation

Add support to parse operating class from xcsa frame and select
channel bandwidth on basis of new operating class.

Change-Id: I33d794e77220ef82cca793767d459979eb940669
CRs-Fixed: 942104
2015-12-28 14:20:43 -08:00
Leo Chang
3bc8fedce7 qcacld-3.0: wdi2.0 feature enable, hdd cds
wdi20 enable implementation for hsoffload. Large physical address
support and wdi20 interface propagate to IPA.
part of HDD and CDS

Change-Id: Iaccab3ae233e0b9a8e4942bee0ebaa40ce94fc16
CRs-fixed: 941041
2015-12-28 14:20:43 -08:00
Masti, Narayanraddi
fd0d19c399 qcacld-3.0: channel bonding is not valid for channel 14
qcacld-2.0 to qcacld-3.0 propagation

Channel bonding mode in not valid for channel 14. So don't
consider it while deriving the channel bonding mode.

Change-Id: I7ceae149cdd9e2f3c75f937c56cc5e93455fa8ee
CRs-Fixed: 908439
2015-12-09 23:21:37 -08:00
Srinivas Girigowda
f2599dd3c6 qcacld-3.0: WLAN logs cleanup
This is a qcacld-2.0 to qcacld-3.0 propagation.

1. Add log to print ssid, bssid, rssi, channel and country code
   while connecting to an AP.
2. Add log to print disconnect reason when disconnect request is
   received from user space.
3. Cleanup some of the logs moving it to appropriate log level
   which are showing up as ERROR level in bug report.

Change-Id: Id8ea69a14a18565c226f89a8a5e10be46741d76d
CRs-Fixed: 914336
2015-12-02 12:55:29 -08:00
Sanjay Devnani
a64b512a9e qcacld-3.0: Check if unload is in progress during suspend
If unload in progress, abort suspend. causes null pointer ref otherwise

Change-Id: I7028b6f0efc9da62352b561e9def90ff9bffd5e6
CRs-Fixed: 878755
2015-11-25 17:26:47 -08:00
Nirav Shah
3650780ece qcacld-3.0: Do not lock to free all packets to avoid watchdog bark
Propagation from qcacld-2.0 to qcacld-3.0

Do not take single lock to free all TLSHIM packets
to avoid watchdog bark during driver unload.

CRs-Fixed: 934555
Change-Id: Iebfb449bd8174bc27207d33073c84a8f11d6e490
2015-11-25 17:26:47 -08:00
Xun Luo
a858a47ead qcacld-3.0: clear WMI work queue before bus context destruction
qcacld-2.0 to qcacld-3.0 propagation

All WMI work queue should be cleared and processing stopped before
bus context destruction. This change enforces this rule.

Change-Id: I2e12f3f08424f718ec66fe257060ce13de17ee4e
CRs-Fixed: 840422
2015-11-25 17:26:46 -08:00
Ratnam Rachuri
12553c61f6 qcacld-3.0: make non-interruptable wait for Tlshim Rx shutdown
qcacld-2.0 to qcacld-3.0 propagation

replace wait_for_completion_interruptible with wait_for_completion
to do Tlshim Rx shutdown with non-interruptible call.

Change-Id: I09a70fd2818db42401ba2ca91a75244c1f07557e
CRs-Fixed: 820482
2015-11-23 13:09:11 -08:00
DARAM SUDHA
ecf4211368 qcacld-3.0: Set tfm to NULL to avoid freeing in crypto_free_cipher
qcacld-2.0 to qcacld-3.0 propagation

tfm is invalid when alloc fails. Set tfm to NULL to avoid freeing
the crypto transform in crypto_free_cipher()->crypto_destroy_tfm.

Change-Id: I3261377f3a7b6ab5740d4144be9e84a1a3a07e42
CRs-Fixed: 809085
2015-11-23 13:09:10 -08:00
Chandrasekaran, Manishekar
907c2af8d6 qcacld-3.0: Fix misspelled entry in the enum wifi_logging_ring_id
This is qcacld-2.0 to qcacld-3.0 propagation

Fix the misspelled entry RIND_ID_DRIVER_DEBUG to
RING_ID_DRIVER_DEBUG in the enum wifi_logging_ring_id

CRs-Fixed: 938286
Change-Id: I0d33128c6d11ecc9ff3d403931bfd6bfdbbb2b4a
2015-11-23 13:09:05 -08:00
Chandrasekaran, Manishekar
430ee2ec1f qcacld-3.0: Avoid waiting for SME messages while holding SME global lock
Avoid waiting for SME response messages while holding the SME global
lock. Currently a wait for 500ms happens in cds_handle_conc_multiport
after the holding the SME global lock. Because of this, the set hw mode
response posted by LIM is not processed by SME as SME would be waiting
for the lock.

Change-Id: Ib7890cb7124f5879316f46b1bf9f0ad3fb225665
CRs-Fixed: 939026
2015-11-23 13:09:05 -08:00
Chandrasekaran, Manishekar
eceb811625 qcacld-3.0: Add CDS APIs to manipulate connection update event
Add CDS connection manager APIs to manipulate the connection
update event. These APIs can be used to initialize, reset,
set and wait for connection update event.

Change-Id: I5689711d4bdc0e39b2456573158943ebda9cbc2a
CRs-Fixed: 939026
2015-11-23 13:09:05 -08:00
Chandrasekaran, Manishekar
0d814c7b3e qcacld-3.0: Move cds_get_bin.c to concurrency management files
cds_get_bin.h and cds_get_bin.c were derived from qcacld-2.0
vos_get_bin.h and vos_get_bin.c.  These files got their names
since at one time they housed the wrappers used to retrieve
binary files nv.bin, cfg.dat, and firmware.  But over time the
functionality to actually retrieve binary files (get_bin) has
been removed, and almost all that is left is concurrency
management functions.  So, moving the .[ch] functionality to
the right files.

CRs-Fixed: 932777
Change-Id: I4a26c304cc6b6224d0839c365e4006fd32270961
2015-11-23 13:09:04 -08:00
Tushnim Bhattacharyya
bda664359b qcacld-3.0: dump the 3 port connection topology with new logs
The existing log for dumping concurrency information doesn't consider
DBS & also doesn't cover for various new combinations added newly.
Update logic for dumping DBS info & cover the new concurrency cases.

Change-Id: Id898bdc2c8aabfa70c99e6193c52f2723ded5c65
CRs-fixed: 935453
2015-11-23 13:09:02 -08:00
Varun Reddy Yeturu
35b51a271f qcacld-3.0: Avoid PMKID and send correct MIC for CCKM+RSN scenario
qcacld-2.0 to qcacld-3.0 propagation

In the current design, PMKID is sent in RSN IE in reassoc req for
CCKM roaming.When AP receives CCKM IE and PMKID, it gets confused
and rejects the reassociation.So in case of CCKM+RSN, don't send
PMKID.
Also, in reassoc request, MIC was going 0 in CCKMIE.This MIC is
calculated by calling platform driver API.When this API returns
SUCCESS then result is copied in MIC buffer but if this API
returns EINPROGRESS/EBUSY, then driver wait for the event and once
the event is completed it does not copy the result in MIC buffer.
So changes are done to copy this result in MIC buffer in case of
BUSY/INPROGRESS status.

Change-Id: Ide74db250aa5c129fa223582be830c15f34cfb16
CRs-Fixed: 763969
2015-11-23 13:09:01 -08:00
Chandrasekaran, Manishekar
ef70c0dd64 qcacld-3.0: Set HW mode before issuing connect for Hidden SSID
Set the HW mode if needed before connecting to an SSID that
is hidden.

CRs-Fixed: 928208
Change-Id: Ibefd207327da1b85ae26a91afd27fc6baf98cf14
2015-11-23 13:08:09 -08:00
Chandrasekaran, Manishekar
123d863c0c qcacld-3.0: Support for CLI+SAP in the PCL tables for third connection
Add support for CLI+SAP combination in the PCL tables which will be
used before deciding the PCL for the third connection that is going to
come up.

CRs-Fixed: 932277
Change-Id: I87e0d6306a40129931268d869b09c5bf763fab95
2015-11-23 13:08:09 -08:00
Mukul Sharma
c7a59f3210 qcacld-3.0: SSR protection for linux/crda reg_notifier api
qcacld-2.0 to qcacld-3.0 propagation

if SSR trigger in middle of execution of linux_reg_notifier
/crda_reg_notifier, driver may access uninitialized data.
Hence Driver need to protect these function from SSR.

Change-Id: I9bdc6851a44fecc8353e94b38eb1dd4f63e58604
CRs-Fixed: 798672
2015-11-23 13:08:07 -08:00
Prakash Dhavali
7090c5fd8d qcacld-3.0: Initial snapshot of ihelium wlan driver
qcacld-3.0: Initial snapshot of ihelium wlan driver
to match code-scanned SU Release 5.0.0.139. This is
open-source version of wlan for next Android release.

Change-Id: Icf598ca97da74f84bea607e4e902d1889806f507
2015-11-17 17:52:53 -08:00