提交線圖

337 次程式碼提交

作者 SHA1 備註 日期
bings
1f98e9fa79 qcacld-3.0: Process radar event after getting vdev start response
Do not process radar event until receiving vdev start response, because
during channel switch, radar may be detected again in the old channel.

Change-Id: I1a524e38c25f91c684fd2c4962aeaf556d2445eb
CRs-Fixed: 2175891
2018-01-29 02:17:37 -08:00
bings
10f2645d36 qcacld-3.0: Use iwpriv setRadarDbg to configure dfs log level
Use iwpriv command "setRadarDbg" to configure dfs log level because
MCL does not have tools to trigger dfs_control.

Change-Id: I2d7b30b026dfedbf03002463652fead83220fa2a
CRs-Fixed: 2178636
2018-01-26 21:26:47 -08:00
Tushnim Bhattacharyya
691680ed4c qcacld-3.0: Trim the ACS scan channel list as per acs config
Trim the scan channel list for ACS based on the channel list provided
from user space as part of acs config.

Change-Id: Iaafa6f78098c59782478351e206ae360d50b89bc
CRs-Fixed: 2177457
2018-01-26 20:02:46 -08:00
Srinivas Girigowda
80213e5216 qcacld-3.0: Move the logs to appropriate log levels
Move the logs to appropriate log levels.

Change-Id: I67ff9972113f95c51214f8d032c2c20d2ba6d195
CRs-Fixed: 2177347
2018-01-26 00:34:22 -08:00
bings
73e793e2a6 qcacld-3.0: Switch channel when radar is found in dfs channel
When radar is found, the current channel is put in NOL list and the state
is set as CHANNEL_STATE_DISABLE.

Currently if channel state is not CHANNEL_STATE_DFS, it will not do channel
change. This is not correct.

Do channel change when radar is found in dfs channel

Change-Id: Iabc8ef5ee92e9d2dc83a95d8fce36a2271ca056c
CRs-Fixed: 2155835
2018-01-26 00:34:16 -08:00
bings
38b3d4f66c qcacld-3.0: Stop sap if there is no available channel
When radar is found, the current channel is put in NOL list and the state
is set as CHANNEL_STATE_DISABLE.

So change the channel state check from wlan_reg_is_dfs_ch to
wlan_reg_is_passive_or_disable_ch

Change-Id: If0595682100746cb12ddb8a1c3ca0106ccd1af21
CRs-Fixed: 2178842
2018-01-25 23:39:19 -08:00
bings
819bdead9e qcacld-3.0: Do not switch channel in DFS testing mode
If gDisableDFSChSwitch is configured as 1, channel should not be
switched even radar is found.

Set usenol as 0 when gDisableDFSChSwitch is configured as 1.

Change-Id: I05c4afea3eb9af9c541b2324a2d50ea59c05f7d7
CRs-Fixed: 2178652
2018-01-25 21:40:52 -08:00
bings
1f55b66040 qcacld-3.0: update sap_ctx->ch_params after channel is selected
Old ch_width is set as invalid after radar detection, and can't be
used anymore. Update sap_ctx->ch_params after channel is selected.

Change-Id: I9e068785312d7072eeaeaa4b1aae4bd82d62d36f
CRs-Fixed: 2178586
2018-01-25 21:40:49 -08:00
Min Liu
2fef579fc1 qcacld-3.0: Fix safe channel switch failure
For the AP+AP SCC LTE-Coex case, when channel avoidance event
is reported, the channel switch request for SAP will be blocked
by policy manager if the target channel is different with the
operating channel of the existing SAP due to the SCC policy.

Need to update the logic to give higher priority to the channel
avoidance request.

Another change is to move the dfs_radar_found ref counter from
hdd_ctx to hdd_adapter so that the channel switch request of
the 2nd SAP will not be blocked when the 1st one is still in
progress since it might take some time to get VDEV restart
response from FW.

Change-Id: I8594b35b70276f7ed3884697caf69a99ee91b952
CRs-Fixed: 2171958
2018-01-25 11:27:33 -08:00
Abhinav Kumar
5670d365dc qcacld-3.0: Fix to reduce QXDM Log Size
Currently in SAP cases, logging is huge and hence failure
logs are getting overwritten very fast within 2mins itself.
Fix it to delete the some irrelevant log prints.

Change-Id: I90a77ba9348b84eb7e5c3518391f7c98a04bb39f
CRs-Fixed: 2169101
2018-01-25 01:41:36 -08:00
Sourav Mohapatra
ab088faa4a qcacld-3.0: Fix potential buffer overflow
In the function sap_clear_session_param, sapctx->sessionId can have
value more than max value allowed for the array
mac_ctx->sap.sapCtxList.

Add sanity check for the variable sapctx->sessionId

Change-Id: I846a8a1435de63d0a2e34f23bc407e0a8fa53eb2
CRs-Fixed: 2162255
2018-01-24 23:46:52 -08:00
bings
19bf84d3c8 qcacld-3.0: Configure IEEE80211_CHAN_DFS for DFS channel
Configure IEEE80211_CHAN_DFS for DFS channel, otherwise channel changes
does not happen.

Change-Id: I0cfbff43d0fff79ae17f1e96b764d4c213ae2ea1
CRs-Fixed: 2155839
2018-01-24 08:27:12 -08:00
Jiachao Wu
c279f9741b qcacld-3.0: Fix a memory leak in SAP when SSR
Fix a memory leak in SAP when SSR.

Change-Id: I1ceaa9e31f64c7fe4c70eab5d0daf2fc60063ef2
CRs-Fixed: 2176124
2018-01-23 12:30:11 -08:00
Himanshu Agarwal
fee2e36308 qcacld-3.0: Set ACS weight to max for channels not in scan list
When gApAutoChannelSelection is set to 1 in ini, HOST driver ACS
runs in wlan_hdd_cfg80211_start_bss() with all the channel width,
hw mode and start and end channel parameters overridden with the
values from ini. After scan on all the channels, a weight is
assigned to all the channels based on rssi and no. of BSS present
on that channel. Weights of all the channels not present in the
scan list remains 0 as no scan happened on those channels and so
BSS count is 0 and RSSI is max. As the channel with lowest weight
is selected, channel which is not even present in scan list is getting
selected.

Assign SAP_ACS_WEIGHT_MAX to all the channels not in the scan list so
only one of the channel present in scan list gets selected after ACS
algorithm is completed.

Change-Id: Ic567c412ec7f68e2bb5d12e8e982650e56fd0488
CRs-Fixed: 2164979
2018-01-22 05:39:40 -08:00
wadesong
4879f42765 qcacld-3.0: ACS fail-safe channel config indication
When ACS scan fails due to some reason, the default channel will
be configured based on ACS band and channel range config, but
the channel and band configs are not indicated to hostapd in a
proper way.

Add code for fail-safe channel and band config indication to
hostapd when ACS scan fails.

Change-Id: Ibbafbc7b853e753cee5563ab64c12c81c3fe54e2
CRs-Fixed: 2166815
2018-01-16 01:59:02 -08:00
Ashish Kumar Dhanotiya
443d31f5f8 qcacld-3.0: Cache deleted station's information in case of SAP
During disconnection process, cache disconnecting STA information
so that the same information is updated to upper-layer on receiving
GET_STATION vendor command, after disconnection.

Change-Id: I2e5a0be42d81b86e6f4490de1bdf9d7e0797506d
CRs-Fixed: 2126182
2018-01-08 09:39:09 -08:00
wadesong
1795e14189 qcacld-3.0: Refine ACS fail-safe channel selection
1) Change some of the parameters for the following two functions
to reflect the right PHY mode definitions at different layers:

wlan_hdd_set_acs_ch_range
sap_select_default_oper_chan

2) Refine the kernel-doc for the above 2 functions due to their
parameter changes.

3) Use eCsrPhyMode instead of uint32_t to define hw_mode in
struct sap_acs_cfg to reflect the right PHY mode definition.

4) Refine the ACS code logic due to the changes introduced above.

Change-Id: I91b7814831a05265cfff456452eef0fe2ef97d1e
CRs-Fixed: 2167355
2018-01-08 02:07:16 -08:00
wadesong
c46581bc1c qcacld-3.0: Fix an ACS hw mode mapping discrepancy
When ACS is started, acs_cfg.hw_mode in AP context will
be set after mapping from values defined in enum
qca_wlan_vendor_acs_hw_mode to values defined in enum
eCsrPhyMode, but when ACS scan fails due to some reason,
such as scan timeout, the code in function
sap_select_default_oper_chan is still using values
defined in enum qca_wlan_vendor_acs_hw_mode to setup
the default channel.

Change the code in function sap_select_default_oper_chan
to use the values defined in enum eCsrPhyMode when
setting up the default channel.

Change-Id: Ic0d43c43bf9b9a9a36c290d2754c30ebb40bb0e3
CRs-Fixed: 2163658
2018-01-02 07:26:38 -08:00
Arif Hussain
21ad43430c qcacld-3.0: Add null pointer check and fix buffer overflow in sap
Add null pointer validation and fix possible buffer overflow issue
in sap module.

Change-Id: I314e07a31368dd3ca854b9aeab4a0bce0402a81b
CRs-Fixed: 2162246
2017-12-22 15:26:08 -08:00
gaurank kathpalia
16a721a680 qcacld-3.0: Fix memory leak issue of ch_list in sap_get_channel_list
In the api sap_get_channel_list, list is allocated memory to store the
channel list to be sent for scan request. This api is called by
sap_goto_channel_sel which initializes scan_request.ChannelInfo.ChannelList
to channel_list, without any prior NULL check of channel_list.
Also in scan callback wlansap_scan_callback, if the state machine structure
is in disconnected state , the host returns without freeing the memory
allocated to the channel list in sap_ctx .

Fix is to free the memory allocated to the channel list
and make the sap_ctx->channellist, sap_ctx->num_of_channel
as NULL and zero respectively in both the instances.

Change-Id: Ia54287d6e77e206c717bd3c205ebe57510ea801c
CRs-Fixed: 2159489
2017-12-20 19:27:21 -08:00
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