Commit Graph

374 Commits

Author SHA1 Message Date
Jeff Johnson
8bd23354cf qcacld-3.0: Remove unused CDS context from RSSI APIs
Currently HDD passes the CDS context to sme_get_rssi(), which in turn
passes it to csr_get_rssi(), which in turn uses it to populate the
p_cds_context field in the tAniGetRssiReq message. Upon processing of
this message by csr_update_rssi() the p_cds_context is checked for
NULL but is otherwise unused. Since the CDS context is not needed,
remove it from all of the RSSI APIs.

Change-Id: I5836e3192205576f6ff4614a29356e73fe674848
CRs-Fixed: 2116954
2017-09-28 03:49:05 -07:00
Jeff Johnson
a1e92618f2 qcacld-3.0: Remove unused cds_ctx param from SME uapsd APIs
Currently sme_enable_uapsd_for_ac() & sme_disable_uapsd_for_ac() take
a cds_ctx parameter. This parameter is no longer used, so remove it.

Change-Id: I36e57975bcfeded648513dce79f32a2fd8f56f5a
CRs-Fixed: 2115518
2017-09-28 03:47:15 -07:00
Jeff Johnson
e63a10733b qcacld-3.0: Remove obsolete csr_roam_update_apwpsie()
Change "qcacld-3.0: Remove obsolete sme_roam_update_apwpsie()"
removed the only caller of csr_roam_update_apwpsie(). Since this
function is unused and obsolete, remove it.

Change-Id: I5a32572d79bccd2c9267e4ffdb0ac7ad9a68d26d
CRs-Fixed: 2115347
2017-09-28 03:47:00 -07:00
Jeff Johnson
9f197dee17 qcacld-3.0: Remove obsolete sme_roam_update_apwpsie()
Change "qcacld-3.0: Remove wlansap_*_wps_ie()" removed the last
caller of sme_roam_update_apwpsie(). Since this function is unused
and obsolete, remove it.

Change-Id: I71ec6d5dd22d427507658cf26582e69bd0751d7f
CRs-Fixed: 2115346
2017-09-28 03:46:59 -07:00
Jeff Johnson
e78d1c471a qcacld-3.0: Remove obsolete sme_roam_tkip_counter_measures()
Change "qcacld-3.0: Remove obsolete wlansap_set_counter_measure()"
removed the last caller of sme_roam_tkip_counter_measures. Since this
function is unused and obsolete, remove it.

Change-Id: Id7d48fc6946a15ddf1157417d00833a7976b5793
CRs-Fixed: 2115343
2017-09-28 03:46:52 -07:00
Jeff Johnson
573a86ac61 qcacld-3.0: Remove obsolete csr_roam_update_wparsni_es()
Change "qcacld-3.0: Remove obsolete sme_roam_update_apwparsni_es()"
removed the only caller of csr_roam_update_wparsni_es(). Since this
function is unused and obsolete, remove it.

Change-Id: I4e89efe38776eb74c702485020236cfaee50641f
CRs-Fixed: 2114958
2017-09-28 03:46:41 -07:00
Jeff Johnson
587285add5 qcacld-3.0: Remove obsolete sme_roam_update_apwparsni_es()
Change "qcacld-3.0: Remove obsolete wlansap_set_wparsn_ies()" removed
the last caller of sme_roam_update_apwparsni_es(). Since this function
is unused and obsolete, remove it.

Change-Id: I36d03fc0a8ad24c0b0a2699c008baf83f474a217
CRs-Fixed: 2114957
2017-09-28 03:46:39 -07:00
Mukul Sharma
6398b253fb qcacld-3.0: Add support for changing LISTEN interval dynamically
Current method for calculating LISTEN INTERVAL are static
configuration a.ka. ini based. Now OEM / USER want to take
control of setting LISTEN INTERVAL as per their applications
need. Once if USER configure the LISTEN INTERVAL value using
vendor command then host should avoid changing the LI value
during each suspend/resume. User LI value will be override
configuration. Once USER will Disable the LI using vendor
command then host can fallback to current default method.

Change-Id: Ia9b412b073c059df0cdff7bcda8198f7581e796d
CRs-Fixed: 2040298
2017-09-27 20:57:54 -07:00
Abhishek Singh
d568647705 qcacld-3.0: Drop roam sync indication if user disconnect is in progress
Roam sync indication checks for csr roam state to determine if user
disconnect is not in progress. But there can be a race condition
where the csr roam state is not updated by disconnect and while
roam sync check the state and proceed.

To fix this set the disconnect in progress flag in sme session
as soon as disconnect starts in HDD and use that to determine if user
disconnect is not in progress when roam sync is received.

Change-Id: Icf541b698eb194621d19b03f281ec3dfd552e373
CRs-Fixed: 2112912
2017-09-26 19:58:00 -07:00
Sandeep Puligilla
1426d619f3 qcacld-3.0: Process assoc indication in sme callback
In a noisy enviornment assoc indication in SME queueu
is not getting processed due to multiple beacons/probes
getting processed in PE queue which is high priority
than SME queue.

Instead of posting a message to SME queue, assoc indication
will run to completion using sme callback mechanism.

Change-Id: I4dc7e3ef0c91964ebc842afa38b7815464e0e406
CRs-Fixed: 2114425
2017-09-23 20:44:30 -07:00
Vignesh Viswanathan
66c951d567 qcacld-3.0: Dump disconnect stats
Add a new dumpStats parameter (25) to dump disconnect stats.
The following command will dump disconnect Stats into QXDM.
>iwpriv wlan0 dumpStats 25

Change-Id: I0908c947b5c829f51b087871ad11d5674908dca2
CRs-Fixed: 2058958
2017-09-21 20:18:04 -07:00
Vignesh Viswanathan
c018e98d72 qcacld-3.0: Add new ini for bad RSSI 2G to 5G roam offset
Add new WCNSS_qcom_cfg.ini item to configure offset from bad RSSI
threshold ini for 2G to 5G band roam. This offset is used to
calculate the RSSI to be used as trigger for device to roam from
2G to 5G band when it is connected to a bad RSSI 2G AP and a 5G AP
is available in the environment.

New ini added : roam_bad_rssi_thresh_offset_2g

Change-Id: If2285317d1d01bb2faae2cf1928ad7adae8204d4
CRs-Fixed: 2105894
2017-09-20 19:56:53 -07:00
Anurag Chouhan
3920c0f714 qcacld-3.0: Add Vendor command to set/get NUD debug stats
Add vendor commands to set/reset and get NUD debug stats
from firmware.

Change-Id: I773c04bb3f7c6d5ed28528cf2174b3d63de57d98
CRs-Fixed: 2011456
2017-09-20 06:22:06 -07:00
hqu
16d6e08812 qcacld-3.0: Calculate supported rates according to different case
Fix the regression issue introduced by change
"Change-Id: Ica336398865a8b5e16297e4555dbb7de5e79567e".
The issue is that it will always include driver default rates.

In some case it only needs to calculate supported rates from hostapd.conf
file. Define ini item gChanSwitchHostapdRateEnabled to configure supported
rates calculated from hostapd.conf file or driver default rates when doing
SAP channel switch.

Change-Id: I45eeea5134dd80929bdd1f61246bdc66e1857e22
CRs-fixed: 2103714
2017-09-20 06:21:53 -07:00
Jiachao Wu
712d4fd6a6 qcacld-3.0: Send beacon tx rate to firmware
Add data structures to save beacon tx rate.
The beacon data rate is multiples of 100 Kbps.
Firmware expects the data rate in the form of hw rate codes.
So convert the data rates to hw rate code.
And send it to firmware.

Change-Id: Ia39fd4c14defa729f75f2c45748fe5b04b909647
CRs-Fixed: 2099052
2017-09-19 04:18:34 -07:00
Varun Reddy Yeturu
faad37e33b qcacld-3.0: Introduce configuration parameters for bad RSSI roaming
Introduce the below WCNSS_qcom_cfg.ini items to configure
for bad RSSI roaming. These parameters would be used when
the device is connected to an AP with weak signal and has
to roam to a better AP if it is stationary but has found
some other better AP in the vicinity

roam_bg_scan_bad_rssi_thresh:
If the DUT is connected to an AP with weak signal, then the bad RSSI
threshold will be used as an opportunity to use the scan results
from other scan clients and try to roam if there is a better AP
available in the environment.

roam_bg_scan_client_bitmap:
This bitmap is used to define the client scans that need to be used
by the roaming module to perform a background roaming.

Change-Id: I3b9f737ea389d35f8be173ce83b2237c2375fb88
CRs-Fixed: 2082904
2017-09-18 20:27:52 -07:00
Varun Reddy Yeturu
061d4d63e4 qcacld-3.0: Introduce INI items for MAWC based roaming
Introduce the following items in WCNSS_qcom_cfg.ini for
user to modify them for MAWC based roaming.

mawc_roam_enabled
mawc_roam_traffic_threshold
mawc_roam_ap_rssi_threshold
mawc_roam_rssi_high_adjust
mawc_roam_rssi_low_adjust

Change-Id: Ief51e3e91603bfd7f6c6deed3ca48bc717b2b6fb
CRs-Fixed: 2081413
2017-09-14 13:26:37 -07:00
Jeff Johnson
30f8455ee1 qcacld-3.0: Remove cds context from struct sAniGetTsmStatsReq
Currently struct sAniGetTsmStatsReq contains a p_cds_context field,
but this field is unused. Remove the field along with all of the code
that is present to populate it.

Change-Id: I1335034b959b77223834d7cf77e33c1f9bd1b358
CRs-Fixed: 2109433
2017-09-14 06:51:58 -07:00
Jeff Johnson
4f51934a73 qcacld-3.0: Remove sme_set_idle_powersave_config() cds_ctx param
Currently sme_set_idle_powersave_config() takes a cds_ctx
parameter. At one time this was needed for the call to
cds_get_context(), but that is no longer the case, so remove this
unused parameter.

Change-Id: Iacef39eded8d87a22a30fe62b0305f93e604dc4c
CRs-Fixed: 2109431
2017-09-14 06:51:58 -07:00
Jeff Johnson
a14a3acaf9 qcacld-3.0: Remove csr_set_opposite_band_channel_info()
csr_internal.h exports csr_set_opposite_band_channel_info() but the
function is no longer present, so remove the obsolete prototype.

Change-Id: I7a5c775ae80c28bd23972df7e4dfddbead6040a5
Crs-Fixed: 2108359
2017-09-12 19:54:33 -07:00
Jeff Johnson
6061a01ba2 qcacld-3.0: Remove csrScanSetChannelMask() prototype
csr_internal.h exports csrScanSetChannelMask() but the function is not
present, so remove the obsolete prototype.

Change-Id: I405cc2d9aa12cce15c58118d335a7eeb2b863b70
CRs-Fixed: 2108357
2017-09-12 19:54:30 -07:00
Jeff Johnson
634f2ff71c qcacld-3.0: Remove csrScanFilter11dResult() prototype
csr_internal.h exports csrScanFilter11dResult() but the function is no
longer present, so remove the obsolete prototype.

Change-Id: Ie163dc247d47feeb0d6b5a33aa5d78d6fefbc167
CRs-Fixed: 2108355
2017-09-12 19:54:28 -07:00
Jeff Johnson
6a5729b35d qcacld-3.0: Remove csr_roam_is_valid40_mhz_channel()
sme_inside.h exports csr_roam_is_valid40_mhz_channel() but the
function is no longer present, so remove the obsolete prototype.

Change-Id: Iea9d46584b038daed1cb690d8036a7fc86ea204e
CRs-Fixed: 2108352
2017-09-12 19:54:21 -07:00
Jeff Johnson
43a80b94d6 qcacld-3.0: Remove csr_roam_issue_ft_roam_offload_synch()
csr_api.h exports csr_roam_issue_ft_roam_offload_synch() but the
function no longer exists, so remove the obsolete prototype.

Change-Id: Ida6f00bc9615c0f50824e4f4a92b75c723d342af
CRs-Fixed: 2108351
2017-09-12 19:54:18 -07:00
gaurank kathpalia
14e2f91174 qcacld-3.0: Fix kernel checkpatch warnings in csr_internal.h
Fix kernel checkpatch warnings in csr_internal.h

Change-Id: If7c869e9445853310209a1d3dca420634f95218e
CRs-Fixed: 2025503
2017-09-12 05:27:36 -07:00
gaolez
e510894670 qcacld-3.0: Add new params in ACS calc process
qcacld-2.0 to qcacld-3.0 propagation

Before this change the ACS calc process only consider the
channel's rssi and bss count in this channel, in this change
add noise floor, channel free statistics and tx power in the
ACS calc process.

Change-Id: I654e53fa2441e03723f150d973c124985c67f2b4
CRs-fixed: 1050316
2017-09-11 23:27:25 -07:00
Tushnim Bhattacharyya
518e80fc94 qcacld-3.0: Add the DFS MCC check in ACS algorithm
During channel selection for SAP via ACS, add check if there is
a connection on 5Ghz, don't allow SAP to select DFS channel.

Change-Id: If6e42cbc584ddb80588daf138d94d2e0a75b882a
CRs-Fixed: 2102024
2017-09-11 12:16:33 -07:00
Tushnim Bhattacharyya
c3c375e5e9 qcacld-3.0: Use lockless sme API to get valid channel list from sme
Use lockless sme API to get valid channel list from sme instead of
sme_get_cfg_valid_channels to avoid deadlock.

Change-Id: I481824cb116244b9c13665d6a0ee88e28c88cf66
CRs-Fixed: 2063060
2017-09-08 14:28:18 -07:00
Jeff Johnson
9908f80e2f qcacld-3.0: Remove g_cds_context from tCsrRoamStruct
Currently tCsrRoamStruct contains a g_cds_context field to hold a
pointer to the global context. This pointer is never actually used, so
remove it. In addition remove an unnecessary retrieval of the global
context pointer from csr_packetdump_timer_stop().

Change-Id: Id8137d6e9eef87f90c01f803982a6ffdc44fbe20
CRs-Fixed: 2102464
2017-09-08 01:03:46 -07:00
Jeff Johnson
1796f6a81b qcacld-3.0: Remove cds_context from tp2pContext
The cds_context in tp2pContext is unused, so remove it.

Change-Id: I0250847eb975db3e606ab867ce74fceb28d99e44
CRs-Fixed: 2102488
2017-09-07 16:51:38 -07:00
Sandeep Puligilla
ef41536a85 qcacld-3.0: Delete vdev object before sme close session
- Flush the active scan list during sme close
session
- Close sme session before deleting the vdev
object.

Change-Id: I8dd8fc794231a613e72089a01ddee5796b56abb7
CRs-Fixed: 2103543
2017-09-06 22:52:30 -07:00
Abhishek Singh
b59f8d40ee qcacld-3.0: Use user provided BW for 2.4Ghz HT connection
Add support to use user provided BW for 2.4Ghz HT connection.
If HT capability in connect req indicate connection in HT20, force
the connection in 2.4Ghz to HT20 only even if AP support HT40.

Added ini override_ht20_40_24g to enable/disable this feature.

Change-Id: Ia03b67b9d6487e3e27f1cf8875afe95af1300b4f
CRs-Fixed: 2084929
2017-08-31 11:00:42 -07:00
Sridhar Selvaraj
0d5d2c745c qcacld-3.0: Add Support for FILS Association
Adds the following  support:
1) Add FILS IE's to assoc request.
2) AEAD encrypt/decrypt the assoc request/response frames for FILS
3) Process/Verify the Assoc response for the FILS params
4) Plumb the Auth keys to firmware after successful FILS assoc
5) Update the user space with Auth key details

Change-Id: I57f6319cecdf10e08047b510321b885c3cd711b5
CRs-Fixed: 2030038
2017-08-30 17:43:53 -07:00
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
Sridhar Selvaraj
c3684c78f7 qcacld-3.0: Support for PMKSA caching
Add support for PMK and PMKID cache based on either bssid or
ssid + cache identifier.

Change-Id: I23c50472e4c2032b953ccf264fc4cadb2ea573ca
CRs-Fixed: 2028113
2017-08-30 10:44:50 -07:00
Sridhar Selvaraj
6cf642fe04 qcacld-3.0: Changes to support FILS AKMs
Add changes to support and parse AKM required for FILS support.

Change-Id: I64f692c3e8173b778fcd4ca6ac2391b8de2bc1d2
CRs-Fixed: 2028113
2017-08-30 10:44:46 -07:00
lifeng
d217d19d7e qcacld-3.0: Add vendor cmd to support antenna diversity
qcacld-2.0 to qcacld-3.0 propagation

Add qca_wlan_vendor_config attr to config antenna diversity.
Add vendor subcmd QCA_NL80211_VENDOR_SUBCMD_GET_CHAIN_RSSI
to get chain rssi value.

Change-Id: I75c4c8016b15772b0c52be91e446f69580475496
CRs-fixed: 1071075
2017-08-30 10:41:53 -07:00
Abhishek Singh
12be60f54b qcacld-3.0: Fix kernel checkpatch warnings in sme_qos_api.h
Fix kernel checkpaitch warnings in sme_qos_api.h

Change-Id: Ib811dcf0b664a2677343a276708d852f4bb67346
CRs-Fixed: 2025503
2017-08-30 10:41:27 -07:00
Mukul Sharma
05504acc13 qcacld-3.0: Add support of GCMP (128/256) support
Add support of GCMP (128/256) security ciper support.

Change-Id: I3c9cb3dc72cce0a2cae3e468d3c1f3c004e11adf
CRs-fixed: 2056168
2017-08-24 03:07:11 -07:00
Abhishek Singh
08b06b7214 qcacld-3.0: Connect in 20Mhz when country code restrict channel in 20Mhz
Even if channel is restricted to 20Mhz in a country code, the device
connect in 40-80Mhz.

Fix this by checking the max bandwidth supported by the country code
while calculating the CB mode.

Change-Id: Ibbf538309191b25fe944062ea618033c818095da
CRs-Fixed: 2095247
2017-08-23 22:46:16 -07:00
Sandeep Puligilla
0a11f8dc6f qcacld-3.0: Cleanup legacy scan code
Cleanup unused legacy scan code related
to abort scan.

Change-Id: I32c4c81b54bd464ebd5918c5a697fc57f505abc7
CRs-Fixed: 2063667
2017-08-21 19:26:08 -07:00
Varun Reddy Yeturu
168134f94e qcacld-3.0: Introduce lookup_threshold_5g_offset INI item
Introduce lookup_threshold_5g_offset in WCNSS_qcom_cfg.ini
which will let the user to configure separate threshold for
5G band using this offset

Change-Id: I4975f74095a5fec0657666ba864ee436cbaed604
CRs-Fixed: 2093368
2017-08-16 17:37:01 -07:00
Kiran Kumar Lokere
0751f0ece9 qcacld-3.0: Remove channel avoid event processing in wma
Remove the channel avoid event processing in wma as the
event processing handled by regulatory component

Change-Id: Ifa0e340c6341b21c192066c8c6eb14418b041062
CRs-Fixed: 2080241
2017-08-13 16:57:01 -07:00
Krunal Soni
158bfe6e18 qcacld-3.0: Introduce INI to disable high HT MCS for 2G STA
To resolve one of IOT issues, introduce INI called
"disable_high_ht_mcs_2x2" which will disable high MCS indices for
2G STA case based on INI value.

Change-Id: I60c5edd89a42f74c0f439fe6a9ab0c75373622b2
CRs-Fixed: 2087438
2017-08-13 15:36:44 -07:00
Yingying Tang
71961045fd qcacld-3.0: Disable LFR3.0 for SDX20
Since wifi chip do not supprot LFR3.0 on SDX20, disable LFR3.0
feature in Kbuild, and fix a compilation error.

CRs-Fixed: 2009403
Change-Id: I16eb3bd68d5564801be9cbcf9db1386cb0e3953b
2017-08-09 16:07:53 -07:00
Ashish Kumar Dhanotiya
b28338c403 qcacld-3.0: Add host support to configure the SMPS parameters
Currently there is no support to configure SMPS parameter
from host, add support to configure SMPS parameters using ini.

Change-Id: I6f8273ffed39a0b95c31f1647e86406b870165f2
CRs-Fixed: 2080571
2017-08-06 20:45:06 -07:00
Naveen Rawat
d9dd4b33f6 qcacld-3.0: Fix implicit conversion error for sme_QosWmmDirType
Replace sme_tspec_dir_type and sme_QosWmmDirType with sme_qos_wmm_dir_type
to avoid implicit conversion warnings/errors and to conform with linux coding
guidelines.

Change-Id: I1567ebbe7ec8adab3344d96f0d2aa93367975926
CRs-Fixed: 2071677
2017-08-06 00:59:54 -07:00
Srinivas Girigowda
72f3039ec5 qcacld-3.0: Split __wlan_hdd_cfg80211_set_ext_roam_params()
Split __wlan_hdd_cfg80211_set_ext_roam_params() into
multiple functions to improve readability of the code and
fix clang warning (-Wframe-larger-than).

Change-Id: I3ad995636127a5fda0635549551a24cc5b1bd2c5
CRs-Fixed: 2055487
2017-08-03 19:48:53 -07:00
Dustin Brown
84411b0e45 qcacld-3.0: Flush pending powersave timers during suspend
Currently, auto powersave timers are deferrable. This means any pending
auto powersave timers will not fire while the device is supended, which
can have a negative impact on wlan power usage. Instead, flush any
pending auto powersave timers during the suspend process, to ensure
powersave is enabled while the device is suspended.

Change-Id: I5911ee30eaf770909b728af73958ba1bbaa8457f
CRs-Fixed: 2080812
2017-07-31 18:53:15 -07:00
Abhishek Singh
f3756fcb5c qcacld-3.0: Add support for rssi based assoc rejection during connect
Add support to handle rssi based assoc rejection from a bssid and
Try to connect to this bssid only after time interval indicated in
Assoc reject or when rssi has improved by margin indicated in Assoc
reject.

Change-Id: I6363bf5346ff8804611afbac3058819dc820092d
CRs-Fixed: 2070452
2017-07-30 11:00:12 -07:00