Commit Graph

894 Commits

Author SHA1 Message Date
Varun Reddy Yeturu
87c8ad8925 qcacld-3.0: Fix the size of array ch_list in sme_set_plm_request
Currently the size of array ch_list in sme_set_plm_request is
defined as WNI_CFG_VALID_CHANNEL_LIST and this is incorrect.
This is just an index to the corresponding CFG item. Fix the
size to WNI_CFG_VALID_CHANNEL_LIST_LEN which is the maximum
size that can be passed from the source buffer.

Change-Id: I90086f2c73ee09cfc9d63a327b464f4017f5b37f
CRs-Fixed: 2120725
2017-10-06 00:13:05 -07:00
Naveen Rawat
5b96c3c90c qcacld-3.0: Fix Tx BF CNS Value sent in ASSOC request
Currently host take min of VHTCaps.csnofBeamformerAntSup and self
txBFCsnValue rather than sending self CSN cap. However doing so
have certain IOT issue with commercial APs already in market. This
IOT issue is found only in our 2x4 solution. Fix this by min only
if self CSN is < 4.

Change-Id: I819fcc440ef3a74ae0dc9011465d0a5d1f2c5892
CRs-Fixed: 2121133
2017-10-05 16:11:42 -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
Abhishek Singh
b58164af41 qcacld-3.0: Choose best candidate at first connection
Best candidate at first connection is a mechanism
to select best possible candidate for making Wi-Fi
connection based on the scan results provided.
Driver use Scan results to calculate score for each
BSS and select the best candidate to connect.
This enhances the user experience by connection
to better AP, based on certain parameters.

Change-Id: I3f88fa8c67f4cf830f05faf2c1d3f3491eee9a72
CRs-Fixed: 2018585
2017-10-03 05:36:18 -07:00
Krunal Soni
e6a1cda95e qcacld-3.0: Bring back changes of Antenna sharing for STA
Change-id Iafd5666179d079c7bcc950277092cef3046356bf was added to remove
antenna sharing support from SAP and STA case but customer needs those
changes for SAP case only.
So bringing back changes for STA case.

CRs-Fixed: 2117829
Change-Id: I79f7c5ae1fd642f0b26170f066a5409638cdd873
2017-10-03 03:30:44 -07:00
Naveen Rawat
903accac1f qcacld-3.0: Remove LTE ant sharing dependency on HT connection's NSS
While DUT is in SAP or GO mode, due to LTE antenna sharing mechanism,
DUT is associating in 2x1 chains to HT clients.

As per new requirement, remove dependency of number of chains on antenna
sharing. If HT client supports 2 chains, and due to DBS/LTE antenna
sharing SAP/GO drops down a chain then rate adaptation at peer takes
care of dropping down chains at peer side

Change-Id: Iafd5666179d079c7bcc950277092cef3046356bf
CRs-Fixed: 2108484
2017-10-03 03:30:29 -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
Frank Liu
1a912b2f05 qcacld-3.0: TDLS: remove legacy connection tracker
Clear up the legacy tdls connection tracker function

Change-Id: I9163e8ec7a41750085d8673b25cf4797d1b84714
CRs-Fixed: 2105075
2017-09-28 09:39:39 -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
88f69f3991 qcacld-3.0: Remove csr_roam_issue_tkip_counter_measures()
Change "qcacld-3.0: Remove obsolete sme_roam_tkip_counter_measures()"
removed the only caller of csr_roam_issue_tkip_counter_measures().
Since this function is unused and obsolete, remove it and the
supporting function csr_send_mb_tkip_counter_measures_req_msg().

Change-Id: Id681afc7448ea9fc2ba5ef89ed88672211106e84
CRs-Fixed: 2115344
2017-09-28 03:46:54 -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
Yeshwanth Sriram Guntuka
5ee28cdb3c qcacld-3.0: Fix kernel checkpatch warnings in nan_api.c
Fix kernel checkpatch warnings in nan_api.c

Change-Id: I26b6d01297cda674444f84a1994f5ff907e14434
CRs-Fixed: 2025503
2017-09-26 22:19:58 -07:00
Yeshwanth Sriram Guntuka
9cfea5b37d qcacld-3.0: Fix kernel checkpatch warnings in nan_datapath_api.c
Fix kernel checkpatch warnings in nan_datapath_api.c

Change-Id: I8e7ba89e517a07b36358e3c97314f27e8c11f79a
CRs-Fixed: 2025503
2017-09-26 22:19:56 -07:00
Yeshwanth Sriram Guntuka
f5b9c0acbb qcacld-3.0: Fix kernel checkpatch warnings in p2p_api.c
Fix kernel checkpatch warnings in p2p_api.c

Change-Id: Ibfe38ef773b0c84eb66c9c3b2198f19638368c87
CRs-Fixed: 2025503
2017-09-26 22:19:54 -07:00
Yeshwanth Sriram Guntuka
dbee719fe5 qcacld-3.0: Fix kernel checkpatch warnings in sme_qos.c
Fix kernel checkpatch warnings in sme_qos.c

Change-Id: Id3cf9884e30c4da241e27e5f42ab13ed361dc2a3
CRs-Fixed: 2025503
2017-09-26 22:19:52 -07:00
Yeshwanth Sriram Guntuka
04b0bb26db qcacld-3.0: Fix kernel checkpatch warnings in sme_api.c
Fix kernel checkpatch warnings in sme_api.c

Change-Id: Id129a2c8ff12e152a74448d202057668f0eb4454
CRs-Fixed: 2025503
2017-09-26 22:19:50 -07:00
Yeshwanth Sriram Guntuka
36c09902c0 qcacld-3.0: Fix kernel checkpatch warnings in csr_inside_api.h
Fix kernel checkpatch warnings in csr_inside_api.h

Change-Id: I4bacfa0b2bddbadc9ca8593d726b77d7b7f4dacf
CRs-Fixed: 2025503
2017-09-26 22:19:48 -07:00
Will Huang
82e63b5c18 qcacld-3.0: Fix possible NULL pointer dereference
In function csr_get_dot11_mode, CSR_GET_SESSION may return NULL if
session_id is an invalid value, check it before use this pointer.

Change-Id: I7c29ca455add9f0a8b19a6ca98e1f2bb319a1c9d
CRs-Fixed: 2071449
2017-09-26 21:30:35 -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
Ganesh Kondabattini
b1960e78f4 qcacld-3.0: Add support for QCA_NL80211_VENDOR_SUBCMD_ACTIVE_TOS
Add support for handling vendor sub command
QCA_NL80211_VENDOR_SUBCMD_ACTIVE_TOS and parsing its attributes.

CRs-Fixed: 2069865
Change-Id: I38f761f20007a04063b0e0680793aedcabd02c6a
2017-09-26 17:53:02 -07:00
Himanshu Agarwal
10b44364a0 qcacld-3.0: Fill channel width when selected channel is invalid
When no channel is selected from ACS and fallback channel
is invalid, a default channel is selected but the channel
width remains invalid due to which ASSERT is happening.

Whenever default channel is selected, select default channel
width of 20 MHz as well.

Change-Id: I885e01d1324484b84e04675238d2e1f8cd10e30c
CRS-Fixed: 2112806
2017-09-26 17:52:27 -07:00
Jeff Johnson
c83eca9924 qcacld-3.0: sme: Replace instances of unadorned %p
Replace instances of unadorned %p in core/sme.

Change-Id: I8176263cf21ec7281dd5ebbaecbe1c8568465a37
CRs-Fixed: 2100997
2017-09-25 21:56:51 -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
Kiran Kumar Lokere
951bad85e6 qcacld-3.0: Do not restart PS timer if PS check fails
Power save checks for user configuration and STA connection state,
if either of these fails then do not restart the auto power save
timer.

Change-Id: I83a337b828677464c74800adf690c00fda68fadc
CRs-Fixed: 2112585
2017-09-22 18:39:23 -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
Jeff Johnson
3023b1e559 qcacld-3.0: Clean up csr_roam_stats_rsp_processor()
csr_roam_stats_rsp_processor() calls cds_get_global_context() but then
doesn't do anything with the result, so remove the unnecessary call.

Change-Id: Ic47dbf971d1eaea4c7c33ff62f9bfb848d9d654b
CRs-Fixed: 2109956
2017-09-19 00:18:00 -07:00
Sandeep Puligilla
344d725f60 qcacld-3.0: Remove legacy scan for ssid logic
Remove legacy scan for ssid logic

Change-Id: I87b2b2a1b284d72e6d6c8d26303ce02b80c0b8b2
CRs-Fixed: 2101353
2017-09-19 00:17:55 -07:00
Sandeep Puligilla
d698bf5328 qcacld-3.0: Remove legacy scan event handling
Remove legacy scan event handling
in the WMA and LIM.

Change-Id: Ibeb6f99335b4e745335d5968791d9e9187df47f7
CRs-Fixed: 2101353
2017-09-19 00:17:52 -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
Kiran Kumar Lokere
52f4a84b2a qcacld-3.0: Reduce the max join attempts for connection
Limit the max join attempts to half of the command timeout value

Change-Id: I0448011ed17c6e90f0ac39c9de57bb32a14ecc31
CRs-Fixed: 2105407
2017-09-18 15:37:27 -07:00
yeshwanth sriram guntuka
6d261f883f qcacld-3.0: Set join failure timeout value in bss config
Join failure timeout value is set to 10 times beacon
interval. If 10 times beacon interval is greater than
max join failure timeout value, global join failure
timeout cfg value is not set which results in connection
failure.

Set join failure timeout value in bss config to the
default join failure timeout value if 10 times beacon
value exceeds default value.

Change-Id: I835256ba07a714cb0606c6e90964475fc112c4b4
CRs-Fixed: 2100633
2017-09-15 17:26:53 -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