Commit Graph

317 Commits

Author SHA1 Message Date
Naveen Rawat
9ec27ecbf2 qcacld-3.0: Check regulatory domain before assuming ETSI channels
In function add missing check for regulatory domain before assuming
channel 120-130 to be ETSI weather channel.

Change-Id: Ief9761b5ac06a511a4132f71c0a63c796741149d
CRs-Fixed: 2150264
2017-12-08 13:28:27 -08:00
Arunk Khandavalli
96c122ff77 qcacld-3.0: Free the ies in case during the stop adapter
Reset the sap configuration ie while stopping the adapter in
the sap mode to avoid memory leak.

Change-Id: I5b47afe561430fcb3f508820bc74c28b56d28b3c
CRs-Fixed: 2123524
2017-11-28 07:26:19 -08:00
Arif Hussain
110965e97b qcacld-3.0: Remove dfs source from qcacld-3.2 project
Remove unused dfs code from qcacld-3.2 project as dfs
code moved to cmn project.

Change-Id: I21a8e5a39df9241544ef53baf42d3aa0ba434636
CRs-Fixed: 2133649
2017-11-27 16:37:22 -08:00
Krunal Soni
b5d18ae94b qcacld-3.0: (Part-2) Refactor open and close session logic in SAP module
Current open and close session APIs mainly defined in HDD, SME, and SAP
modules are not proper. They require some design changes to maintain the
consistency.

In order to achieve the goal of making symmetrical design for open and
close session logic, refactor existing API in SAP module.

CRs-Fixed: 2147969
Change-Id: Iccc5ddd2b14ec2b27e6746a211edd10ec06ad434
2017-11-22 17:41:23 -08:00
Krunal Soni
5943765644 qcacld-3.0: Rename few SAP APIs & introduce the new wrapper APIs
wlansap_open(), wlansap_close(), wlansap_start(), and wlansap_stop()
APIs are not doing what their names' suggest. Rename these APIs such
a way that they reflect the true meaning of it.

Introduce two new APIs to create and destroy the sap context.

CRs-Fixed: 2147974
Change-Id: Ie0475df480d1b19e796ddf3b639de3078a5a61a0
2017-11-22 17:41:17 -08:00
Nachiket Kukade
d915283486 qcacld-3.0: Correction in conditional logic in key operations
In set default key operation module, under SAP mode, there are
conditional checks on key type information derived from the
Station's context. Also in get/add key operations SAP or STA
context pointers are derived without knowing the device mode
first, which is incorrect.

Derive key type info from SAP context in set default key and
derive station or sap context pointers only after knowing the
device mode.

Change-Id: I09b0e6f8d6315677e7584c7c24f003daa3eca9a3
CRs-Fixed: 2127288
2017-11-15 23:36:57 -08:00
Sandeep Puligilla
20aa0c714c qcacld-3.0: Process stop bss during the channel change
Stop bss request is dropped during the
channel change request and it is causing
IPA disconnect event not to sent to IPA
module.

Process stop bss during channel change
request so that IPA disconnect is sent
to IPA module.

Change-Id: I41bb3c0d5ba9f9e9b3a655b67d126ee34c777f4d
CRs-Fixed: 2134143
2017-11-14 23:30:13 -08:00
Abhishek Singh
a394b6cd72 qcacld-3.0: Add changes to handle scan req structure change
Add support changes to fix compilation failure due to change in
scan req structure due to wide band scan changes in scan module.

Change-Id: I9ae1584fa3289fd97c5adf8708db731ae91848ab
CRs-Fixed: 2137835
2017-11-10 17:40:53 -08:00
Jeff Johnson
c1e6278e02 qcacld-3.0: Use enum QDF_OPMODE
Change "qcacmn: Rename enum tQDF_ADAPTER_MODE" (qca-wifi-host-cmn
Change-Id I20f1b6d1a0ab4b8fe6a85cefdff96a49e2f4652c) renamed enum
tQDF_ADAPTER_MODE to QDF_OPMODE. Update all references to use the
new name.

Change-Id: Ic6f663dac11a100f168b2626c7c0fbcaccbfca4f
CRs-Fixed: 2141065
2017-11-10 00:27:42 -08:00
Jeff Johnson
172237b859 qcacld-3.0: Replace typedef tCsrRoamInfo
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tCsrRoamInfo typedef does not
meet any of those criteria, and the underlying struct is already being
used in some places, so replace all remaining tCsrRoamInfo references
with a reference to the underlying struct.

Change-Id: I1da4b04ec92e176fe28b33d30ec7823828c35c8d
CRs-Fixed: 2140349
2017-11-08 19:42:51 -08:00
Jeff Johnson
e6bf719666 qcacld-3.0: Rename struct tagCsrDelStaParams
Per the Linux coding style "mixed-case names are frowned upon" so
rename struct tagCsrDelStaParams.

Change-Id: I60d6448f4bae15e604a8ea55e72a6070a6ebdfbe
CRs-Fixed: 2140346
2017-11-08 19:42:43 -08:00
lifeng
7c607dd603 qcacld-3.0: Add a timer to reduce and resume beacon interval
qcacld-2.0 to qcacld-3.0 propagation

Reduce the beacon interval just before the channel switch.
This would help in reducing the downtime on the STA side which
is waiting for beacons from the AP to resume back transmission.

Switch back the beacon_interval to its original value after
the channel switch based on the timeout. This would ensure
there are atleast some beacons sent with increased frequency.

Change-Id: I37db52713d9e2c78abbb97a7cd0274d9da35bfd2
CRs-Fixed: 1094958
2017-11-07 01:13:18 -08:00
lifeng
1c16b6b0ac qcacld-3.0: Enhance dfs beacon tx
qcacld-2.0 to qcacld-3.0 propagation

Send one action frame along with each beacon tx to reduce failure
of channel switching on sta side.

Change-Id: Idbbe1a4bcb4976101680974214fe85d9886ba7d1
CRs-Fixed: 1094958
2017-11-07 01:13:15 -08:00
Sandeep Puligilla
999ba33342 qcacld-3.0: cleanup legacy scan request processing
Cleanup legacy scan request processing
from HDD and SME api to process the same.

Change-Id: Ic160dfafcfa015eb42a226304260b1be3dddc6f0
CRs-Fixed: 2136149
2017-11-05 00:08:30 -07:00
Jeff Johnson
2ec495d3c9 qcacld-3.0: Remove eSAP_GET_WPSPBC_SESSION_EVENT
"qcacld-3.0: Remove support for eWNI_SME_GET_WPSPBC_SESSION_REQ"
(Change-Id: Ia95c4911600a45d1004b9e6148b1b04f414e2475) removed the
only function which sends eSAP_GET_WPSPBC_SESSION_EVENT. Since this
event is obsolete, remove it.

Change-Id: I9d83f66bce4ec66bc131747254a45d8b6afb5cbb
CRs-Fixed: 2134951
2017-11-02 12:59:15 -07:00
Krunal Soni
f6a367bf53 qcacld-3.0: Make SAP open()-close() & start()-stop() symmetrical
Current driver is not having wlansap_open() and wlansap_close()
symmetrical and same goes for wlansap_start() and wlansap_stop()
which may create confusion in understanding.

Create a symmetry and clean-up any unnecessary data-structure.

CRs-Fixed: 2135995
Change-Id: I2c3b96e1f2ee44c9f1158108d4b5e48495222080
2017-11-01 17:39:02 -07:00
Himanshu Agarwal
dfc4dcac67 qcacld-3.0: Code cleanup in Vendor ACS support code
1. Add modularity to the vendor acs logic
2. Add error conditions, return values and their handling.
3. Add appropriate kernel doc.

Change-Id: I5e07910d243686f77a8abbed373ea7970992b6d0
CRs-Fixed: 2100804
2017-10-30 01:39:13 -07:00
Jayachandran Sreekumaran
9f18042578 qcacld-3.0: Restrict AP switching to DFS channel
Restrict AP switching to DFS channel to enforce SCC
in AP+STA+AP case

Change-Id: I5b581142abb02a9209200ee21fb6a2e1fbc18795
CRs-Fixed: 2133126
2017-10-26 23:48:13 -07:00
Ajit Pal Singh
813383c330 qcacld-3.0: Force SCC for STA+P2PGO if gWlanMccToSccSwitchMode!=0
While selecting P2PGO channel in sap_goto_channel_sel(), force SCC
if there is STA + P2PGO concurrency AND gWlanMccToSccSwitchMode!=0,
This makes behaviour similar to STA + AP concurrency.

Change-Id: Ib80a36c22432791c5466b68b625373c58e4c8206
2017-10-25 07:40:52 -07:00
Srinivas Girigowda
b9086af019 qcacld-3.0: Fix checkpatch warnings (QUOTED_WHITESPACE_BEFORE_NEWLINE)
Fix checkpatch warnings (QUOTED_WHITESPACE_BEFORE_NEWLINE).

Change-Id: I8901c49fa48c8a9c3a9c83c6be5ff003fe0eae62
CRs-Fixed: 2126814
2017-10-24 16:40:56 -07:00
Srinivas Girigowda
ea4d806da9 qcacld-3.0: Fix checkpatch warnings (SPACING)
Fix checkpatch warnings (SPACING).

Change-Id: I966fe641b4722cc15584defc42c90921090687fb
CRs-Fixed: 2126814
2017-10-24 16:40:54 -07:00
Srinivas Girigowda
4d65ebe983 qcacld-3.0: Fix checkpatch warnings (LINE_SPACING)
Fix checkpatch warnings (LINE_SPACING).

Change-Id: Ibac537792bfd68a1e4b42eec0f5ece579fb15a20
CRs-Fixed: 2126814
2017-10-24 16:40:49 -07:00
Jayachandran Sreekumaran
9575dec599 qcacld-3.0: Allow MCC in exceptional cases
In AP + STA case allow MCC if the STA's channel
is DFS or passive or part of LTE avaoidance channel list

Change-Id: Iece69bf5d70d5e2ed9f9505a72c7a40f35d11b75
CRs-Fixed: 2127091
2017-10-23 06:13:00 -07:00
Jayachandran Sreekumaran
922477bbb0 qcacld-3.0: MCC to SCC switch for SAP+SAP and SAP+GO
MCC to SCC switch for second beaconing interface,
SAP+SAP and SAP+GO

Change-Id: I1b8e897ffc719b63a4de92f5fe02a2820bc29e4f
CRs-Fixed: 2127091
2017-10-23 06:12:52 -07:00
Rachit Kankane
11ac4bc61c qcacld-3.0: Update for 3port channel overlap
Update to find channel overlap in case of 3-port concurrency.
The changes are made as mentioned below:
1. Find active session on same band channel
2. If found, then set same channel to achieve SCC

Change-Id: I87ba2121608c789814b1213dc807fed82fd0f882
CRs-Fixed: 2127091
2017-10-23 06:12:50 -07:00
Wu Gao
aa5e3f7476 qcacld-3.0: Remove legacy P2P codes in SAP
To reduce code size, remove legacy P2P codes in SAP layer. Remove
P2P files from Kbuild.

Change-Id: I83a704d3f03e9cb9e6a7420f32d609a323799a12
CRs-Fixed: 2111575
2017-10-18 23:50:55 -07:00
Krunal Soni
22208393bb qcacld-3.0: Remove SAP connection from policy manager upon stopbss
If SAP has no channel left to move then it will issue stop bss. In this
scenario, SAP is not cleaning up its entry from policy manager table
which causes stale entry left over in table.

Fix this situation by stopping the bss successfully and deleting entry
from policy manager table.

Change-Id: I7c7d305936fe16b0deebb9b7a67f7753cbf243e6
CRs-Fixed: 2112932
2017-10-16 16:44:13 -07:00
Jeff Johnson
38e38a8483 qcacld-3.0: Remove duplicate GET_IE_LEN_IN_BSS_DESC() macros
Both HDD and SAP define GET_IE_LEN_IN_BSS_DESC() macros, but these
macros simply replicate the logic already present in the global macro
GET_IE_LEN_IN_BSS(). Therefore delete these macros, and use
GET_IE_LEN_IN_BSS() instead.

Change-Id: I431984673141715ad32ca6ea96e31722129ce929
CRs-Fixed: 2122547
2017-10-12 14:00:45 -07:00
Arif Hussain
4549efa73b qcacld-3.0: Use updated dfs public function
Dfs public function are renamed to have utils_ prefix,
make sure to call new dfs public API's.

Change-Id: Ib36ebb6ca4d3838c5e7468e22f6dd5182a0a08e0
CRs-Fixed: 2124373
2017-10-12 14:00:08 -07:00
Kiran Kumar Lokere
9471221c04 qcacld-3.0: Reduce log messages during scanning
Excessive logging during scan causes the watchdog timeout
hence reduce the log messages in the scan path

Change-Id: I378e9667dfad15cfd5ba1c68484b97567af5d45f
CRs-Fixed: 2079149
2017-10-12 14:00:02 -07:00
Hanumanth Reddy Pothula
714d7d5bd7 qcacld-3.0: Remove unnecessary assertion in SAP callback
Propagation from qcacld-2.0 to qcacld-3.0

In random testing cases, the SAP close may be called even before the BSS
is started. In such cases the SAP callback may not have been registered
and such scenarios may lead to unnecessary assertion. Just returning an
errror should do.

Remove the assert but retain the error notification.

Change-Id: Ief9ea45d2d7f3d910766e73a9e0dca5e34c85905
CRs-Fixed: 2121720
2017-10-09 03:47:57 -07:00
Krunal Soni
bfd0549f67 qcacld-3.0: Initialize roam id to invalid value
Current driver has roam id uninitialized in anticipation that roam id
will be filled by SME APIs to correct value but in error conditions
that value may not be filled at all. In those kind of cases
initializing to invalid value will help to avoid any security breach.

CRs-Fixed: 2119198
Change-Id: I96e55cb91ef76df63dd6ba267130e1092fdcf899
2017-10-06 21:49:13 -07:00
Jeff Johnson
e13d806b89 qcacld-3.0: Rename pSapCtx to sap_ctx
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename pSapCtx to sap_ctx to align with the
Coding Style.

Change-Id: I9402132fc20cbb7e9041ec9f112eaa2af258a0d4
CRs-Fixed: 2118452
2017-09-28 21:59:32 -07:00
Naveen Rawat
09b96dfecf qcacld-3.0: Fix memory leak in SAP csr roam profile during SSR
In case of SSR and SAP is active, if hdd_init_ap_mode is not clean
SAP profile will leak memory. Fix memory leak in this case.

Change-Id: I7655d8f1d5654e583cbf4812c7f5e2a3a20ff54a
CRs-Fixed: 2112581
2017-09-28 17:13:52 -07:00
Krunal Soni
e8324ce7d8 qcacld-3.0: Fix SAP+SAP SCC DFS concurrency on DBS platform
As per current implementation, if one SAP is on DFS channel & another
SAP is non-DFS and if RADAR is detected on DFS channel then both SAPs
are changing channels which is incorrect behavior for new platforms.

Above limitation was added for old platform where SAP+SAP concurrency
was allowed only for DFS SCC feature.

Allow both SAPs to change the channel back to back when they are on
same SCC DFS channel. This change will allow to maintain backward
compatiblity with old platform.

CRs-Fixed: 2114154
Change-Id: I9c426f9a148d0feac552c34929daad1e802edd2f
2017-09-28 16:11:22 -07:00
Jeff Johnson
164b3bb59f qcacld-3.0: Refine API wlansap_channel_change_request()
See change "qcacld-3.0: Refine API wlansap_open()" for the API
history.  Update wlansap_channel_change_request() to use the
true struct pointer type.

Change-Id: I829d33be89e319d6e81b99b94badb023109c29b2
CRs-Fixed: 2116267
2017-09-28 03:49:03 -07:00
Jeff Johnson
3abdd24af4 qcacld-3.0: Refine API wlansap_start_beacon_req()
See change "qcacld-3.0: Refine API wlansap_open()" for the API history.
Update wlansap_start_beacon_req() to use the true struct pointer type.

Change-Id: I92bb5538425b7f9c8d366854e59bdb57eb8c19aa
CRs-Fixed: 2116267
2017-09-28 03:49:01 -07:00
Jeff Johnson
bfeafc6ba7 qcacld-3.0: Refine API wlansap_dfs_send_csa_ie_request()
See change "qcacld-3.0: Refine API wlansap_open()" for the API
history.  Update wlansap_dfs_send_csa_ie_request() to use the
true struct pointer type.

Change-Id: I7abb2cdefab70e6c7997f438221a7f0aa4c8e3af
CRs-Fixed: 2116267
2017-09-28 03:48:58 -07:00
Jeff Johnson
ed4ed172fc qcacld-3.0: Refine API wlan_sap_set_vendor_acs()
See change "qcacld-3.0: Refine API wlansap_open()" for the API history.
Update wlan_sap_set_vendor_acs() to use the true struct pointer type.

Change-Id: Iba77a686dc08251dbaee74554ee7de3080ad8b64
CRs-Fixed: 2116267
2017-09-28 03:48:56 -07:00
Jeff Johnson
b26e270d4e qcacld-3.0: Refine API wlansap_get_dfs_nol()
See change "qcacld-3.0: Refine API wlansap_open()" for the API history.
Update wlansap_get_dfs_nol() to use the true struct pointer type.

Change-Id: I4a430915f8e1cb5378f80e5d6cb34690e33160ea
CRs-Fixed: 2116267
2017-09-28 03:48:54 -07:00
Jeff Johnson
b3c4f7e460 qcacld-3.0: Refine API wlansap_set_dfs_nol()
See change "qcacld-3.0: Refine API wlansap_open()" for the API history.
Update wlansap_set_dfs_nol() to use the true struct pointer type.

Change-Id: I762ef985ee5ec40c79d4cdaafc4e89710edb2366
CRs-Fixed: 2116267
2017-09-28 03:48:52 -07:00
Jeff Johnson
ffa38768fa qcacld-3.0: Refine API wlansap_scan_callback()
See change "qcacld-3.0: Refine API wlansap_open()" for the API history.
Update wlansap_scan_callback() to use the true struct pointer type.

Change-Id: I7c77827de37a4beb4bedcfb5716e61573c27eaad
CRs-Fixed: 2116267
2017-09-28 03:48:50 -07:00
Jeff Johnson
14ec0689da qcacld-3.0: Refine API wlansap_cleanup_cac_timer()
See change "qcacld-3.0: Refine API wlansap_open()" for the API history.
Update wlansap_cleanup_cac_timer() to use the true struct pointer type.
And since this removes that last usage of CDS_GET_SAP_CB(), remove the
now obsolete macro.

Change-Id: I35338df7dc8cf74cb491d5c901200d685b40a55e
CRs-Fixed: 2116267
2017-09-28 03:48:48 -07:00
Jeff Johnson
104433afa3 qcacld-3.0: Refine API wlansap_set_invalid_session()
See change "qcacld-3.0: Refine API wlansap_open()" for the API
history.  Update wlansap_set_invalid_session() to use the true
struct pointer type.

Change-Id: Ib7c56dd9b04ececdb7518648f6ba9cc3e3ed7428
CRs-Fixed: 2116267
2017-09-28 03:48:39 -07:00
Jeff Johnson
92675a5d15 qcacld-3.0: Refine API wlansap_get_chan_width()
See change "qcacld-3.0: Refine API wlansap_open()" for the API history.
Update wlansap_get_chan_width() to use the true struct pointer type.

Change-Id: Iec86249524c042ae6dba818bb5983fd91d9e61fd
CRs-Fixed: 2116267
2017-09-28 03:48:37 -07:00
Jeff Johnson
630fd6a3c3 qcacld-3.0: Refine API wlansap_acs_chselect()
See change "qcacld-3.0: Refine API wlansap_open()" for the API history.
Update wlansap_acs_chselect() to use the true struct pointer type.

Change-Id: I954c519954207c5cc487296dd42b8b2b46c08173
CRs-Fixed: 2116267
2017-09-28 03:48:35 -07:00
Jeff Johnson
bc110a7828 qcacld-3.0: Refine API sap_is_auto_channel_select()
See change "qcacld-3.0: Refine API wlansap_open()" for the API
history.  Update sap_is_auto_channel_select() to use the true
struct pointer type.

Change-Id: I9a233ba67f773edce6a866dc0664f92cf3610c81
CRs-Fixed: 2116267
2017-09-28 03:48:33 -07:00
Jeff Johnson
a68cc538cd qcacld-3.0: Refine API wlan_sap_set_pre_cac_complete_status()
See change "qcacld-3.0: Refine API wlansap_open()" for the API
history.  Update wlan_sap_set_pre_cac_complete_status() to use
the true struct pointer type.

Change-Id: I814af33f02c847e542bb3c1b87d1f8da3cd82ff1
CRs-Fixed: 2116267
2017-09-28 03:48:31 -07:00
Jeff Johnson
2cdcfdcd69 qcacld-3.0: Refine API wlan_sap_set_chan_before_pre_cac()
See change "qcacld-3.0: Refine API wlansap_open()" for the API
history.  Update wlan_sap_set_chan_before_pre_cac() to use the
true struct pointer type.

Change-Id: I4dd1a526645317560a2929ddc4fed496d71867d1
CRs-Fixed: 2116267
2017-09-28 03:48:29 -07:00
Jeff Johnson
108566e1e1 qcacld-3.0: Refine API wlan_sap_set_pre_cac_status()
See change "qcacld-3.0: Refine API wlansap_open()" for the API
history.  Update wlan_sap_set_pre_cac_status() to use the true
struct pointer type.

Change-Id: Ic9ee7bfa01eb01c7c8c6b665c25300611fb7edde
CRs-Fixed: 2116267
2017-09-28 03:48:26 -07:00