Commit gráf

806 Commit-ok

Szerző SHA1 Üzenet Dátum
Dustin Brown
bcb82d5fae qcacld-3.0: Avoid uninitialized timer check in ps timer flush
In some cases, some auto powersave timers are never initialized. Change
sme_ps_timer_flush_sync to avoid checking the timer state of such
uninitialized timers.

Change-Id: I0bccca6835238d1d69c71f39fc0ae5a8eee56d23
CRs-Fixed: 2089350
2017-08-30 10:42:27 -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
Dustin Brown
0e4479e27e qcacld-3.0: Add aggregate stats support for SAP
The cfg80211 get_station callback is not intended for use with
non-station device types. However, it is useful to expose aggregate
statistics for non-station type devices. Add support for returning
aggregate statistics when get_station is used with a soft access point
device.

Change-Id: I8ae32c307f241525a7d74467328d9d40dc805053
CRs-Fixed: 2077011
2017-08-30 10:41:01 -07:00
Zhang Qian
32fd43e7d0 qcacld-3.0: Correct cached connection info
qcacld-2.0 to qcacld-3.0 propagation

The variables used for cached ssid and authentication type will be cleared
after disconnection, hence user will get incorrect info from vendor
event after disconnection.

Use separate variables to save last ssid and auth info.

This is to fix issues of change I5b64d9942a54d35eac0f08b4d8fbed9d1d66a504.

Change-Id: Icc1a5d53e33d650726905e50e4846b77b10cf4ee
CRs-Fixed: 2098560
2017-08-30 10:40:44 -07:00
Linux Build Service Account
1b248de915 Merge "qcacld-3.0: Channel hopping for 2_4G and 5G band" 2017-08-24 12:11:15 -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
gaolez
76d2a16f03 qcacld-3.0: Channel hopping for 2_4G and 5G band
qcacld-2.0 to qcacld-3.0 propagation

Allow device switch to a different channel if the current channel is
congested, using the 11h channel switch announcement.

Change-Id: I1766785017e43f17cc800039b383ee5dabcd6ea5
CRs-Fixed: 2082632
2017-08-22 20:57:57 -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
Kapil Gupta
ffa260296f qcacld-3.0: Changes to fix compilation warnings
Add changes to fix compilation warning related to
frame-larger-than flag. Value of this flag is set by
CONFIG_FRAME_WARN in kernel config.

Change-Id: I0d4d55c141572c9da3a459e79073b99fc5d6ea67
CRs-Fixed: 2035710
2017-08-16 11:57:24 -07:00
Deepak Dhamdhere
6adc08e0b9 qcacld-3.0: Check for invalid staId in ll stats clear operation
WMI_CLEAR_LINK_STATS_CMDID can cause firmware crash if vdev_id is invalid.
Add staId, i.e. vdev_id checks to sme_ll_stats_clear_req() and
wma_process_ll_stats_clear_req().

CRs-Fixed: 2078391
Change-Id: Ic713b17aebeb89bc0ab69c2e4040d9018d3dc095
2017-08-14 21:26:34 -07:00
jiad
4a7a33cad2 qcacld-3.0: Fix RX LDPC setting in VHT capabilities IE
VHT RX LDPC capability depends on both INI config and HW capabilities.
Current logic does not populate HW capability in a correct way. HW RX
LDPC capability is set as a bitmask of bit 4 instead of boolean value
while INI config is value of 0 or 1. Bitwise AND with HW cap and INI
config always creates a result of 0, which leads to wrong RX LDPC field
in VHT caps IE.

Fix is to populate HW RX LDPC cap as a boolean value and advertise VHT
RX LDPC capability when both INI config and HW capability are set to 1.

Change-Id: Iabf83f74d9bfc2bf7d958ca3a08e9e6090ac7fb8
CRs-Fixed: 2060216
2017-08-14 20:07:40 -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
Agrawal Ashish
71afe14353 qcacld-3.0: Set authentication timeout for EAPOL to 75 sec
As soon as EAPOL start happens, supplicant start authentication
timeout as 70 sec to complete authentication.
Driver should not issue disassoc before this time expires.
Fix this by increasing authentication timeout for EAPOL to 75 sec

CRs-Fixed: 2039542
Change-Id: Ib07cff669099563bc7ba87367cf88da5cc6d0fd2
2017-08-13 16:16:13 -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
Krishna Kumaar Natarajan
585f030eb2 qcacld-3.0: Add channel 149 to scan channel list for emulation
Add channel 149 to scan channel list for emulation.

Change-Id: I8ea8bd6de5cc510fde51bfaaab95583df3cf30cf
CRs-Fixed: 2088941
2017-08-11 05:07:17 -07:00
gaolez
e2920bda2b qcacld-3.0: Add ini option for action frame based channel switch
qcacld-2.0 to qcacld-3.0 propagation

Add ini option to enable/disable action frame based channel switch.

Change-Id: I340464a18ef0b5cf09f481a23b01edcf04904e34
CRs-Fixed: 2082563
2017-08-09 20:50:29 -07:00
Yingying Tang
87f0139d6a qcacld-3.0: Fix compilation error when WLAN_FEATURE_ROAM_OFFLOAD is disabled
csr_roam_roaming_offload_timer_action() is used only when
WLAN_FEATURE_ROAM_OFFLOAD is enabled. But it is defined out of
WLAN_FEATURE_ROAM_OFFLOAD. So there is a compilation error that
csr_roam_roaming_offload_timer_action() is defined but not used when
WLAN_FEATURE_ROAM_OFFLOAD is disabled. Add fix to resolve this issue.

Change-Id: I31036a91df3d2799d53fb64f73dbae847bee97bf
CRs-Fixed: 2023165
2017-08-09 18:10:43 -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
Varun Reddy Yeturu
a863ec2f34 qcacld-3.0: Fix wpa index overflow issue
Check if wpa index for the OUI retrieval is
going beyond the limit of the array and return

Change-Id: I040246d7a7c2ca387282dc4d86ffdbdf34007323
CRs-Fixed: 2085702
2017-08-08 13:15:13 -07:00
Rajeev Kumar
d8be47afed qcacld-3.0: Flush power save command only for INFRA STA VDEV
Currently flush power save command logic is sending power save
enable for all VDEVs. FW does not support power save for SAP
VDEV hence add check to make sure to flush power save command
only for INFRA STA VDEV.

Change-Id: I8f162535f8a4c3b66b6ed136c3c0d599c7dc0dba
CRs-Fixed: 2084683
2017-08-07 23:56:00 -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
Srinivas Girigowda
6519b93735 qcacld-3.0: Fix clang warning 'Wlogical-not-parentheses'
logical not is only applied to the left hand side of this
bitwise operator [-Werror,-Wlogical-not-parentheses]
           (!(ies->RSN.RSN_Cap[0] >> 7) & 0x1)))
            ^                           ~
csr_api_roam.c:14617:6: note: add parentheses after the '!' to
evaluate the bitwise operator first
           (!(ies->RSN.RSN_Cap[0] >> 7) & 0x1)))
            ^
             (                               )
csr_api_roam.c:14617:6: note: add parentheses around left hand
side expression to silence this warning
           (!(ies->RSN.RSN_Cap[0] >> 7) & 0x1)))
            ^
            (                          )

Change-Id: I489eba6a6265778346bb3b20832f92774a2d5e0e
CRs-Fixed: 2087302
2017-08-06 14:48:15 -07:00
Srinivas Girigowda
f326dfe224 qcacld-3.0: clang: Remove extraneous parentheses
clang is reporting these compiler warnings.
Remove extraneous parentheses.

Change-Id: I3dd6490cc1bf2a038e72e1630ba9b0c2b5f0ebed
CRs-Fixed: 2087229
2017-08-06 14:48:13 -07:00
Srinivas Girigowda
6598eea7ff qcacld-3.0: Move logs to appropriate log levels
Move logs to appropriate log levels.

Change-Id: I230318a934762d5fcda33f2446a1b176c11fc263
CRs-Fixed: 2083965
2017-08-06 13:48:11 -07:00
Vignesh Viswanathan
cbb5b956c3 qcacld-3.0: Fix improper handling of lkSmeGlobalLock
sme_acquire_global_lock was used in couple of places without proper
handling of releasing the acquired lock.

Fix the improper handling of lkSmeGlobalLock in multiple funcitons.

Change-Id: Ib6cd43fae3fe522fc6388815581389592d3e70f8
CRs-Fixed: 2086102
2017-08-06 03:57:47 -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
Naveen Rawat
585e96a8de qcacld-3.0: Remove obsolete variable from sSirChanChangeResponse
Structure sSirChanChangeResponse does not uses ePhyChanBondState
secondaryChannelOffset anymore. Remove the obsolete member variable

Change-Id: Ib244b6e5c1692ab928acc22e125d49779119e176
CRs-Fixed: 2071677
2017-08-06 00:59:52 -07:00
Sridhar Selvaraj
48c4709f8d qcacld-3.0: Move sme_config local variables to dynamic allocations
sme_config is used as local variables with struct tSmeConfigParams
in multiple places causing stack frame size to increase. This is
causing build issues with 32 bit systems where the stack frame
size is limited to 1024 bytes for each frame.

Move multiple sme_config local variables to dynamic allocations to
reduce stack frame size.

Change-Id: I86a93546adf40bbbc19438c3b1e3a7ec0d38f39f
CRs-Fixed: 2074224
2017-08-05 23:53:29 -07:00
Selvaraj, Sridhar
0ab68627a5 qcacld-3.0: Dont send peer_flush_tids cmd to fw for HO fail cases
When HandOff(HO) fails, set doNotSendOverTheAir flag so that LIM
does not send deauth and also does not send peer_flush_tids cmd
to FW as FW already did the cleanup.

Change-Id: I4721ad22e5c4229155ae9bd5f4d9624dca0a1879
CRs-Fixed: 2037621
2017-08-04 02:06:52 -07:00
Deepak Dhamdhere
cad0391ea4 qcacld-3.0: Fix for QoS prioritization after roaming
Voice traffic is properly prioritized when a TSPEC is added to
the connection. When STA roams to a new AP, TSPEC is negotiated with
that AP, firmware is programmed to handle WMM access classes but
HDD is not notified of this change. This problem shows up only in
non-FT roaming. Ensure that AC flows are reinitialized after roaming.

CRs-Fixed: 2003210
Change-Id: I7b9e07cffa90eb966c4a23ff4c4db420fb0122fe
2017-08-03 22:08:14 -07:00
Deepak Dhamdhere
6f7fbbeb17 qcacld-3.0: Add a function to free fields of saved scan command
saved_scan_cmd has many fields that are allocated separately during
profile save operations. Add a routine to free those memory objects,
release the profile and avoid memory leaks.

CRs-Fixed: 2012430
Change-Id: I0d9fcb29ca7f8290692ba4b688ffe025d5b5d747
2017-08-03 22:08:13 -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
Padma, Santhosh Kumar
5f42892271 qcacld-3.0: Avoid buffer overflow of csr_wpa_oui array
In csr_validate_wep(), return value of csr_get_oui_index_from_cipher() is
used to fetch 'csr_wpa_oui' value. csr_get_oui_index_from_cipher() returns
0-14 but no.of rows of 'csr_wpa_oui' is 7.

Add changes to validate index value before accessing 'csr_wpa_oui' array.

Change-Id: I0cf16f4e8fb2c07a489991f20bc345e97b2450e0
CRs-Fixed: 2077599
2017-07-30 13:02:22 -07:00
Abhishek Singh
4db8c1521c qcacld-3.0: Send OCE rssi reject BSSID list to firmware
Add support for 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.

On connection send OCE rssi reject BSSID list to firmware so that
firmware will avoid connecting to these BSSID until RSSI improve or
delta interval has elapsed.

Change-Id: I792b2874ed25227bf5fd09d8051549da96db4364
CRs-Fixed: 2070452
2017-07-30 11:00: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
Agrawal Ashish
87ec5d48c8 qcacld-3.0: Indicate HB failure, HO failure and no scan result as FATAL
In packet logs currently HB failure, HO failure and No scan results
are marked as Non Fatal and because of that, these failures are not captured
in packet logs.
Fix this by making these events as FATAL.

Change-Id: I6db2f3cd843b7f84081332f2385fbfb0a2992078
CRs-Fixed: 2061842
2017-07-30 11:00:09 -07:00
Manjeet Singh
2f78506072 qcacld-3.0: Correct sme_set_5g_band_pref definition
sme_set_5g_band_pref is declared inside FEATURE_WLAN_ESE feature flag
by mistake which can cause a symbol undefined error if FEATURE_WLAN_ESE
is not declared.

Move sme_set_5g_band_pref outside of conditional block FEATURE_WLAN_ESE.

Change-Id: I80b045100b068d08873b136fdf676e99e36a57cd
CRs-Fixed: 2016629
2017-07-30 10:04:13 -07:00
Manjeet Singh
a9cae43599 qcacld-3.0: Add support for band specific preference
Add support for 5Ghz network RSSI boost/penalty preference
based on ini values.

Change-Id: Ia3ae5dcc35b9a85fde5a609f8f27ff8b4bc35cec
CRs-fixed: 1085554
2017-07-30 09:09:12 -07:00
Agrawal Ashish
c416da60c5 qcacld-3.0: Trigger pktlog as part of hb failure/kickout event
When Driver does disconnect as part of heartbeat failure
or kickout event, trigger fatal event to capture pktlog.

Change-Id: I43a486afeccc4acd4be542357b803d492afde9c0
CRs-Fixed: 2030718
2017-07-27 16:59:44 -07:00
Ravi Joshi
b398c85774 qcacld-3.0: Fix stability issue observed in set channel request
Fix array out-of-bounds access while populating the BSS rate set.
The issue was seen while populating the basic supported rate
and extended rate sets.

CRs-Fixed: 2081423
Change-Id: I8626399b7f9a04dc368daa582b6a09500a7ea015
2017-07-27 16:59:01 -07:00
gaolez
7bb1e74744 qcacld-3.0: Add ecsa capability record
qcacld-2.0 to qcacld-3.0 propagation

Add eCSA capability record of STAs which associated to SAP.

Change-Id: I1d7892bb1dc4e490a587e8372a4bdc7f419e8b36
CRs-Fixed: 1094958
2017-07-25 15:44:06 -07:00
bings
58ce86229c qcacld-3.0: Add phymode parameter in hdd_chan_change_notify
Information in struct ch_params_s are the same for 11g and
11n ht20, so phymode is still needed to distinguish them.

Change-Id: I5ddfc011b4fd3b11c975f8b2df3a270e8141e622
CRs-Fixed: 2073580
2017-07-25 03:45:24 -07:00
Sridhar Selvaraj
1b2330ccb8 qcacld-3.0: Add new ini param for min rest time during roaming scan
Currently both min and max rest time use the same ini param
gNeighborScanTimerPeriod.

Add a new ini param gRoamRestTimeMin for min rest time
during channel scan.

Change-Id: Ifbb0fcc736e81b292639c6f2ad3119b451bec4f2
CRs-Fixed: 2060095
2017-07-24 10:52:47 -07:00
Will Huang
558f8085c4 qcacld-3.0: Add support of request peer stats info(part 2)
qcacld-2.0 to qcacld-3.0 propagation

FW has limitation to support old WMI_REQUEST_STATS_CMDID and
WMI_UPDATE_STATS_EVENTID interface on AP vDev. FW suggest to use new
WMI_REQUEST_PEER_STATS_INFO_CMDID and WMI_PEER_STATS_INFO_EVENTID to
get tx/rx rate.

This checkin is about LIM/SME/SAP layer, provide SME APIs/callbacks
to HDD layer to get SAP's peer station tx/rx related information,
fill these information from wma layer get-peer-stat-info APIs and
peer station's association request frame. It also fixed function
csr_send_assoc_ind_to_upper_layer_cnf_msg when copy information
between different structures and using offset style.

Change-Id: Icb1aaa126663af7eaedd1c4db86ca25c40ce6ee9
CRs-Fixed: 2051628
2017-07-18 05:54:26 -07:00
Selvaraj, Sridhar
57ce4dfde2 qcacld-3.0: Add ini params to avoid roam ping pong
In roaming scenario, to avoid ping pong with bad AP’s around, fw
blacklist certain Ap’s based on timestamps and penalize certain
AP’s of the same channel so they won’t be selected and back and
forth roaming could be avoided. This change adds the following
INI parametres to configure the parametres of this fw feature.

1) groam_disallow_duration    - Amount of time LCA[Last Connected AP]
                                will be disallowed before it can be a
                                roaming candidate again.
2) grssi_channel_penalization - RSSI to be penalized if
                                candidate(s) are found in the same
                                channel as disallowed AP's.
3) groam_num_disallowed_aps   - number of AP's the target should
                                maintain in its LCA list.

Change-Id: I41cb36caf1b42caeb2bf77846bd0279eb43d2018
CRs-Fixed: 2054188
2017-07-18 05:54:24 -07:00
Sreelakshmi Konamki
2972b6e3cb qcacld-3.0: Do not remove addts/delts command in csr_roam_sync_callback
Currently addts and delts commands are removed as part of
csr_roam_sync_callback. After successful roaming add_tspec of
old connection is not processed in SME (entry of addts command is NULL
in smeCmdActiveList). As there is no active add tspec in SME,
VO data is downgraded to BE.

To fix above issue, do not remove addts/delts commands from SME queue and
in PE layer do the error handling for addts to send resp for all
failure cases.

Change-Id: Ibc7364d188c3002dd8067738f6bcc8fee2af2126
CRs-Fixed: 2076713
2017-07-18 05:54:23 -07:00