Commit Graph

394 Commits

Author SHA1 Message Date
Ganesh Kondabattini
dd72652f3a qcacld-3.0: Send TDLS frames with lower AC
If ACM enabled and access is not granted for AC_VI, then send
TDLS frames with lower access category instead of dropping them.

Change-Id: I2201536dc4475764f33eebce1faa0a7df0b2c454
CRs-Fixed: 2045241
2017-10-24 15:38:31 -07:00
Naveen Rawat
d2657be69e qcacld-3.0: Use WIFI_POS public APIs for fine_time_meas_initiator
In legacy code, remove reference of fine_time_meas_initiator and use
public APIs provided by WIFI_POS to get and set FTM value.

Change-Id: I8685b6024693cc3f9a24e29dea25ea6b868ddcf6
CRs-Fixed: 2122876
2017-10-20 13:54:06 -07:00
Naveen Rawat
d8feac152e qcacld-3.0: Update 11AX - HE IE's based on new draft - 4/4
Update HE Capability/Operation IE based on new draft version D1.3.

Update driver changes for the frame changes made as part of
Ia295422fa697edea8a571be359f9983110bba969.

Change-Id: I22e4641e8fd15d647eb655c41c61389da8775766
CRs-Fixed: 2092845
2017-10-20 01:11:15 -07:00
Vignesh Viswanathan
0b0fa277ca qcacld-3.0: Fix Compilation issues when FILS is disabled in Kbuild
Currently with CONFIG_WLAN_FEATURE_FILS set to n in Kbuild,
compilation issues are seen in the function hdd_save_gtk_params
due to usage of fils related structure without the compilation flag
checked.

Add new definition for the function hdd_save_gtk_params to fix
compilation issues with hdd_save_gtk_params set to n

Change-Id: Iab96c97df50f50c601ba52060440668373f74744
CRs-Fixed: 2111640
2017-10-19 13:53:39 -07:00
Sridhar Selvaraj
e526044735 qcacld-3.0: Fix compilation issues in FILS roaming
Fix compilation issues in FILS roaming

Change-Id: Ib33873fbace5ad9a4788b7968562b934270035a1
CRs-Fixed: 2095625
2017-10-19 13:51:10 -07:00
Vignesh Viswanathan
c6d1e1cc13 qcacld-3.0: Add FILS roaming support
Add FILS roaming support changes as follows:
- Update ERP info in RSO Start
- Update HLP info in a new command WMI_PDEV_UPDATE_FILS_HLP_PKT_CMDID
- Set/Delete PMK cache info with WMI_PDEV_UPDATE_PMK_CACHE_CMDID
- Process FILS TLV in Roam Synch Indication and update the FILS info
  [seq number,PMK, KEK, realm] to Supplicant.

Change-Id: I78c3bdde080701deb8d2bdb92d8d57d18cceb864
CRs-Fixed: 2081252
2017-10-19 13:49:15 -07:00
Wu Gao
aa06e3511c qcacld-3.0: Remove legacy P2P codes in SME
To reduce code size, remove legacy P2P codes in SME layer.

Change-Id: I2f7d4c14d4ba2df9360351bdc55a8ba92ec9caf9
CRs-Fixed: 2111574
2017-10-18 23:50:51 -07:00
Nachiket Kukade
8983cf61d2 qcacld-3.0: Support for configuring voltage corner mode
This change adds support for configuring voltage corner mode
thorugh INI parameter. User will provide a bitmap which will
be passed on to the FW during initialization. In this bitmap,
each pair of bits till BIT27 correspond to different phymode,
bw combination. Bit values signify voltage corner configuration.

Change-Id: I9e86d43079225b6f08fdd281c8f424b18abcffe9
CRs-Fixed: 2109884
2017-10-18 03:55:01 -07:00
Himanshu Agarwal
8bcec57472 qcacld-3.0: Add INI support for best candidate algo and RSSI scoring
1) Currently all the parameter to decide best candidate are chosen
   as by default.
   Add INI support for those parameters to change values on basis
   of performance.
2) At the time of calculating best candidate score, rssi consider
   bucket size, good rssi, bad rssi, good rssi percentage from total
   rssi percentage, bad rssi percentage from total percentage.
   Configure these all params from ini.

Change-Id: I808a40486473fcbb161c12fbd369b3b846beb8c2
CRs-Fixed: 2121735
2017-10-12 14:02:08 -07:00
Ganesh Kondabattini
479a8aeed8 qcacld-3.0: Reset limit off channel parameters after disconnection
Reset the limit off channel parameters after disconnection, otherwise
FW is going to use these settings for future connections on the same
interface.

CRs-Fixed: 2105301
Change-Id: I00a408c1d71cdf261e5718a67d9417ac3fcd133c
2017-10-12 13:59:04 -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
Krunal Soni
aadaa27fbd qcacld-3.0: Provide SME API to send unit test command to FW
Current driver forming a unit test command within HDD layer and uses
message passing method to deliver it to WMA layer which
requires HDD layer to have a knowledge of how to form a unit test command.

User SME API to send params to WMA layer and let WMA form a unit test
command and send it directly to FW through WMI layer instead of HDD
forming and passing it down.

CRs-Fixed: 2118725
Change-Id: Id1838939813e6cd2d52cee8720a1f4e0ca34329b
2017-10-06 19:30:50 -07:00
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