Commit Graph

382 Commits

Author SHA1 Message Date
Nachiket Kukade
aaf8a71ef5 qcacld-3.0: Implementation to change BmissFinalBcnt dynamically
Implementation to change BmissFinalBcnt dynamically.
User can set totalBcnt using the new command
QCA_WLAN_VENDOR_ATTR_CONFIG_TOTAL_BMISS_CNT.
BmissFirstBcnt will retain its default value or from ini.
BmissFinalBcnt will be configured as (totalBcnt - BmissFirstBcnt).

Change-Id: Ie3c3895d48248d349400e755f07edc807e335b44
CRs-Fixed: 2081906
2017-10-04 08:41:24 -07:00
Krunal Soni
332f4afc05 qcacld-3.0: For host-invoked roaming to same AP, don't to send null frm
During host invoked roaming, set WMI_ROAM_INVOKE_FLAG_NO_NULL_FRAME_TO_AP
flag so that FW will not send NULL data frame while doing transition to
same bssid.

CRs-Fixed: 2046964
Change-Id: I043c3d2431e4da5af36fb710bd36a520550abbd3
2017-10-03 16:02:56 -07:00
Arunk Khandavalli
847969de19 qcacld-3.0: Dont disable the ps conf to firmware
Presently, host driver is sending the exit power save
configuration request to firmware when an interface up comes
before iface_change_timer which is not required because firmware
is the master and decides to enter/exit imps.
To mitigate the issue, don't send the exit IMPS request to firmware
before interface change timer expires and re-configure the same
incase of loadonce-unload never in case of firmware is de-initialzied.

Change-Id: Ia47687cdcfc5a5fb7be1a8066e163c3248305bba
CRs-Fixed: 2002110
2017-10-03 11:46:04 -07:00
hqu
0a6ce08e04 qcacld-3.0: Move chan_switch_hostapd_rate_enabled field for alignment
Current structure is expected to be 4 bytes align which needs to be
fixed by moving chan_switch_hostapd_rate_enabled field up in the
structure.

Change-Id: I234142a135fdeac69601d352beed7eda8ec16b99
CRs-fixed: 2118364
2017-09-29 03:39:18 -07:00
Sandeep Puligilla
66d09c4150 qcacld-3.0: Add RRM scan changes
Add RRM scan changes according to new
scan component.

Change-Id: Ib8e90a3f54c173cf478164aeef90f8f825984ce2
CRs-Fixed: 2113507
2017-09-28 11:26:33 -07:00
Frank Liu
5c63dc8f82 qcacld-3.0: TDLS: remove remaining legacy code
Clear up tdls legacy init/deini, helper functions and structures.
Also remove legacy code in vendor nl80211 and iwpriv commands.

Change-Id: I983851d8cc0d3605c3d6bd0d8975c72844f71740
CRs-Fixed: 2105075
2017-09-28 09:39:48 -07:00
Frank Liu
1b8212057d qcacld-3.0: TDLS: remove legacy event process
Clear up the tdls legacy tdls firmware events and
implicit tdls discovery request process.

Change-Id: I2e2380b1789cce7841ff0be4120184d1bce0b7e7
CRs-Fixed: 2105075
2017-09-28 09:39:45 -07:00
Frank Liu
d1a2846324 qcacld-3.0: TDLS: remove legacy core functions
Clear up the tdls legacy functions which handle add/delete
tdls peer, tdls mgmt frame process and tdls_oper callback.

Change-Id: I8ba344ce5593df44bd15527e2ff68e872b6d23b8
CRs-Fixed: 2105075
2017-09-28 09:39:43 -07:00
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