Commit Graph

904 Commits

Author SHA1 Message Date
Ravi Kumar Bokka
c20393f2c2 qcacld-3.0: Fix for set11Dstate ioctl
In present code, by default csr_init11d_info() function return failure status.
Due to wrong return status, ioctl (set11Dstate) get failed.

correct return status in csr_init11d_info function.

Change-Id: I40f130454d259cbc8a22f16e27c2c1a9e7c10b07
CRs-Fixed: 1105989
2017-10-12 14:01:32 -07:00
Sandeep Puligilla
a3cac40b8d qcacld-3.0: Initialize the pmkid cache variable
Invalid memory length passed to memcpy triggered
crash and it is due to unintialized stack variable.

Initialize pmkid cache variable to zero.

Change-Id: Ib25812086f4d9f8399ce560d6aa7423a1978d04d
CRs-Fixed: 2119987
2017-10-12 13:59:15 -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
Ganesh Kondabattini
b2eabe321a qcacld-3.0: Force SCC changes in non DBS mode
In non DBS mode, force SCC if STA and SAP channels are not same.

CRs-Fixed: 2109798
Change-Id: I421cd3b82c96aa62482c6caee15e6bb077adba1d
2017-10-12 13:58:08 -07:00
Jeff Johnson
5a6b660768 qcacld-3.0: Replace typedef tSirLedFlashingReq
The current driver strategy is to converge on unified APIs, and the
unified WMI struct flashing_req_params conveys the same information as
typedef tSirLedFlashingReq, therefore replace tSirLedFlashingReq with
struct flashing_req_params.

Change-Id: I4ef75ee3bff7c83dbf8197bba0802569282a414f
CRs-Fixed: 2121335
2017-10-12 13:57:01 -07:00
Jeff Johnson
eddf544927 qcacld-3.0: sme: Rename pRoamInfo
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation, so rename pRoamInfo to align with the Coding
Style.

Change-Id: I444fc7925066f0ef147aed666a02027661308799
CRs-Fixed: 2121187
2017-10-12 13:56:50 -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
Vignesh Viswanathan
a1bb0929b9 qcacld-3.0: Send HLP packet to IP layer for FILS
In case of FILS connection, form 802.3 packet out of
HLP IE info parsed from assoc response(if present) and
send the same to IP layer.

Change-Id: I0e077ee48030da84bfe9f987722f96ac2e05ae36
CRs-Fixed: 2034452
2017-10-06 12:27:49 -07:00
Anurag Chouhan
4085ff7e51 qcacld-3.0: Add vendor event to get the driver hang reason
Add Vendor Event to get the driver hang reason indicating to the
user space that the driver has detected an internal failure.
This event carries the information indicating the reason that triggered
this detection.

Change-Id: I3934f2a18c796ed3b53175dcbe7efd7f4d1409b9
CRs-fixed: 2098498
2017-10-06 07:58:08 -07:00
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