Commit Graph

2238 Commits

Author SHA1 Message Date
Hanumanth Reddy Pothula
c1c4d2b55b qcacld-3.0: While starting adapters, on interface down, go to next adapter
During re-init of SSR, host restarts adapters one by one, by
traversing adapterNode link-list, whose all interfaces are up.
But if any of adapter's interface is down, then driver will be
in infinite loop as its not traversing to next adapter node.

So, on adapter's interface down, go to next adapter node to
break infinite loop.

Change-Id: I334a6304578d833485b58b2f6f494b4556c781ed
CRs-Fixed: 1069498
2016-09-23 17:39:37 -07:00
qcabuildsw
8d9020fca4 Release 5.1.0.27Z
Release 5.1.0.27Z

Change-Id: I4bbba75869fac102b6646c48323624b080faafa1
CRs-Fixed: 688141
2016-09-23 15:43:37 -07:00
Srinivas Dasari
947abd7a4d qcacld-3.0: Allow querying for DFS capability even if iface is not up
wpa_supplicant queries for DFS capability as part of
initialization and the interface is not up by then. So, allow
userspace components to query for the same even if the interface
is not up.

Change-Id: I2b8dc04260e1cbe007fda4be7f1b8aa196ae7a79
CRs-Fixed: 945597
2016-09-23 15:43:37 -07:00
qcabuildsw
11fdbf0921 Release 5.1.0.27Y
Release 5.1.0.27Y

Change-Id: Id7a1ea09f6d57939fc37dead636f0970573dea2d
CRs-Fixed: 688141
2016-09-23 03:20:20 -07:00
Yuanyuan Liu
16a556259b qcacld-3.0: Clean up PLD source files and remove unused function
Clean up PLD source file by moving one-line function calls to
header file and make it static inline. Also, remove unused function.

Change-Id: Ibaa7357db4ac305f0bab9d8ad2f7dfe9351fda7d
CRs-Fixed: 1070075
2016-09-23 03:20:19 -07:00
qcabuildsw
c986846672 Release 5.1.0.27X
Release 5.1.0.27X

Change-Id: I90ff63d67b37f2edc12f98b3d39a0403e3d06ec2
CRs-Fixed: 688141
2016-09-23 02:21:18 -07:00
Rajeev Kumar
fb02a5e3ed qcacld-3.0: Fix kernel panic during driver load failure
In low memory conditions TX/RX histogram memory allocation failure
is not handled properly and because of it 2 kernel panics are observed.
1st kernel panic is caused when freed HDD context is de-referenced in
hdd_wlan_startup and 2nd kernel panic is caused by kernel wake lock
list corruption because WLAN driver during load failure corrupted kernel's
wake lock list.

As part of this fix make sure TX/RX histogram memory allocation failure
is handled gracefully by properly sending failure reason code to
hdd_wlan_startup.

Also in order to make fix complete and avoid any other kernel panic, deinit
HDD context properly by freeing all HDD created wake locks such that when
HDD context is freed its wake locks are not poisoned to 0x6b6b6b6b6b6b6b6b
(SLUB magic pattern) pattern by kernel and hence corrupting kernel wake lock
list.

This fix ensures driver load failure caused by TX/RX histogram allocation
failure is handled gracefully in low memory conditions without leading to
any kernel panic.

Change-Id: I17a46c346402642f39e6548cd40bedd1f7ff96a4
CRs-Fixed: 1069014
2016-09-23 02:21:17 -07:00
qcabuildsw
58aae0e57e Release 5.1.0.27W
Release 5.1.0.27W

Change-Id: Ibc225498c14cca3d46ab0e86157bc368f027171f
CRs-Fixed: 688141
2016-09-23 01:22:51 -07:00
Krunal Soni
edb38f950f qcacld-3.0: Disable all dual mac features when DBS is disabled from INI
Current driver doesn't send WMI command to notify firmware to disable
all dual mac features when DBS is disabled from INI.

Disable dual mac features including all scan policies when DBS is
disabled from INI.

Change-Id: Id452c1de795dbeb7dc897a71e1578731d9dad2f9
CRs-Fixed: 1069650
2016-09-23 01:22:50 -07:00
qcabuildsw
17159c5cb8 Release 5.1.0.27V
Release 5.1.0.27V

Change-Id: I9bb602e481810dabd7bf71f12d33ccf7fcf78668
CRs-Fixed: 688141
2016-09-22 16:27:39 -07:00
Kiran Kumar Lokere
1d4094ef44 qcacld-3.0: Add support to add VHT op mode IE
Add support to include VHT opmode IE in association request
frames when the STA is connecting to VHT AP and the connection
has SMPS enabled.

Change-Id: Id18a6356ac6f08d1846abe42f84713fddef984dc
CRs-Fixed: 1062430
2016-09-22 16:27:39 -07:00
Kiran Kumar Lokere
92fe759c38 qcacld-3.0: Set the correct DTIM period to FW
DTIM period is configured during add_bss and is taken from scan
cache bss descriptor.Scan cache can have both probe response and
beacon frames, but the TIM IE is present only in beacon frames.
If scan cache has the probe response frame then DTIM values is
configured as 0.
Get the DTIM period value from beacon and configure it to FW.

Change-Id: I2b92e5e133a70d33987a50b6113681142bc4896a
CRs-Fixed: 1067558
2016-09-22 16:27:37 -07:00
qcabuildsw
48863603be Release 5.1.0.27U
Release 5.1.0.27U

Change-Id: I48e7bfc2ba3eb1fe2f2f36ffa825e05867b2153b
CRs-Fixed: 688141
2016-09-22 03:26:36 -07:00
Selvaraj, Sridhar
e01e0732d8 qcacld-3.0: Move HT/VHT parameter from PEsession to Station dph entry
Move HT/VHT parameter from PEsession to Station dph entry which are
introduced as part of wlan data logging.

Change-Id: Icd9258c32a82d3842708ac92b498106d870d7f4f
CRs-Fixed: 1053747
2016-09-22 03:26:35 -07:00
qcabuildsw
656a19e0fe Release 5.1.0.27T
Release 5.1.0.27T

Change-Id: I9305dae41cd392511b7d0ac067852f5435df1a99
CRs-Fixed: 688141
2016-09-21 23:25:42 -07:00
Kiran Kumar Lokere
78790207b0 qcacld-3.0: Remove the per band chain mask support flag
Remove the per band chain mask support flag as the chain mask
configuration by user is not supported. And set the HT and VHT
IEs to FW unconditionally.

Change-Id: Ic29ec1019a7d83c7080409096ec41e827c4009fb
CRs-Fixed: 1068108
2016-09-21 23:25:41 -07:00
qcabuildsw
dc0dcce9c3 Release 5.1.0.27S
Release 5.1.0.27S

Change-Id: I7b70619a2d318630119a61750d1c028d334e569b
CRs-Fixed: 688141
2016-09-21 18:52:16 -07:00
Dustin Brown
5e79c10be7 qcacld-3.0: Cleanup MBSSID compilation flag (phase 4)
The WLAN_FEATURE_MBSSID conditional compilation flag is no longer
needed since MBSSID is a required feature. Remove this flag and
any alternate code referenced in the conditional compilation blocks.
In phase 4, completely remove the MBSSID compilation flag.

Change-Id: I9c74ae624f1db39f13c62b148396a3c8ac49ad88
CRs-Fixed: 1067450
2016-09-21 18:52:15 -07:00
qcabuildsw
b51dee275f Release 5.1.0.27R
Release 5.1.0.27R

Change-Id: I1b6ba10970fb24e5943fd9dcae64758bf1a3dbe8
CRs-Fixed: 688141
2016-09-21 17:34:19 -07:00
Yun Park
74127cf1d1 qcacld-3.0: Fix FW crash when STA_DISCONNECT in STA only mode
FW crashes when disconnect STA interface in STA only mode, since
sending WDI disable command while it is not enabled yet.
WDI disable should be sent only when STA disconnected while SAP
client is connected.
Fix by adding check if SAP client is connected in prior to send
WDI disable command to FW.

Change-Id: Ia7f46e0567d4d5d6f7efe78be5ab5b007419210d
CRs-fixed: 1068439
2016-09-21 17:19:58 -07:00
qcabuildsw
be86ef1d90 Release 5.1.0.27Q
Release 5.1.0.27Q

Change-Id: I0e8e389badfaf1b0757e0f6aa76d8df69258982b
CRs-Fixed: 688141
2016-09-21 17:12:33 -07:00
qcabuildsw
5f81e97868 Release 5.1.0.27P
Release 5.1.0.27P

Change-Id: Ia89d8a5a4e8deb35256e579bf562af56ae89ebea
CRs-Fixed: 688141
2016-09-21 17:12:02 -07:00
Masti, Narayanraddi
27fbec7970 qcacld-3.0: Fix crash in TDLS functionality
qcacld-2.0 to qcacld-3.0 propagation

Currently, tdls lock has not been acquired and if tdls peer or
tdls context freed in other context then it will lead to crash.
Fix is to ensure that the tdls lock is acquired for tdls peer
list and tdls context.

Change-Id: I52c3e7b67c7f61160c54a1a6688db09f0137b7e1
CRs-Fixed: 945302
2016-09-21 17:11:57 -07:00
qcabuildsw
aaf16a4c5e Release 5.1.0.27O
Release 5.1.0.27O

Change-Id: I469b84e41fef8c35fbe405933d85681b8c381c2e
CRs-Fixed: 688141
2016-09-21 17:09:37 -07:00
Jeff Johnson
860e124874 qcacld-3.0: Converge gEnable5gEBT default values
There is a desire to remove unnecessary items from the default version
of WCNSS_qcom_cfg.ini that is shipped to customers. Currently the
default WCNSS_qcom_cfg.ini contains the following entry:
gEnable5gEBT=1

The default value within wlan_hdd_cfg.h is:
define CFG_PPS_ENABLE_5G_EBT_FEATURE_DEFAULT (0)

Since this feature improves power consumption it should be enabled by
default, so update the default value in wlan_hdd_cfg.h.

Change-Id: I585cb06f227ee4575b06165c751a93fb93c2fad6
CRs-Fixed: 1068914
2016-09-21 17:09:25 -07:00
qcabuildsw
abbe2fb83a Release 5.1.0.27N
Release 5.1.0.27N

Change-Id: I883b78b6a43d146743a3c1fdd2231aca405f129e
CRs-Fixed: 688141
2016-09-21 17:09:15 -07:00
Ankit Gupta
d66a881e08 qcacld-3.0: Align return value check for lim_cmp_ssid
lim_cmp_ssid api returns zero when comparison ssid matches
else returns non zero. Checking return value with true/false
can cause confusion and errors.
Replace the return value check from true/false to
zero/non-zero values.

Change-Id: Id22560cb4c2289431995dab3087b4eb24546a8bf
CRs-Fixed: 1067454
2016-09-21 17:09:10 -07:00
Ankit Gupta
a507601be7 qcacld-3.0: Align return value check for qdf_mem_cmp
qdf_mem_cmp api returns zero when comparison string matches
else returns non zero. Checking return value with true/false
can cause confusion and errors.

Replace the return value check from true/false to
zero/non-zero values.

Change-Id: I485d69a4bf85d1e6273ea780af6d0423c3910686
CRs-Fixed: 1066946
2016-09-21 17:08:59 -07:00
Ankit Gupta
4316b7a887 qcacld-3.0: Fix check while processing lim_ndp_delete_peers
If the peer is not present in the deleted list,
this function frees the resources for that peer and
add it to the deleted list. If the peer is already
in the deleted list, do nothing and continue to scan
for other peers. Incorrectly checking the return value
qdf_mem_cmp make the above functionality broken.

Fix the check for return value of qdf_mem_cmp to
allow the proper processing of the peers in deleted list.

Change-Id: Ica97b3bcaa651e2ca5935beb1381e9fc5b196e8a
CRs-Fixed: 1067411
2016-09-21 17:08:50 -07:00
qcabuildsw
8f5b5bd9f0 Release 5.1.0.27M
Release 5.1.0.27M

Change-Id: Ib8468fd7f87d94c58aafad73bef0ed7df7872c86
CRs-Fixed: 688141
2016-09-21 17:08:41 -07:00
Ravi Joshi
b89e7f7e3e qcacld-3.0: Check consistency in throughput before setting delack
Integration from cld-2.0 to cld-3.0.

Currently the throughput is measured every 100 ms. Delack is set to 20
if throughput for this interval is greater then threshold (~57 Mbps).
In the case of congestion control, tcp may take longer duration for
rampup. In this change, throughput is checked for consistency for
about three seconds and then tcp delack is set to 20.

CRs-Fixed: 1028085
Change-Id: I1a4e9be3407ac426a314e1192d0e1d315e1899e0
2016-09-21 17:08:35 -07:00
qcabuildsw
31e8e63de9 Release 5.1.0.27L
Release 5.1.0.27L

Change-Id: Ica5b6b225e3e2a2a361a6cc18afd2c6518fa186a
CRs-Fixed: 688141
2016-09-21 17:08:27 -07:00
Nitesh Shah
597745227b qcacld-3.0: Allow SAP(DFS) + STA(2.4) in DBS capable device
If SAP is operating in DFS channel, and STA comes up in 2.4
GHz band, then irrespective of DBS capability, SAP switches to
STA's channel for SCC.

The enhancement is to allow SAP to operate in DFS channel,
and restrict the preferred channel list for STA with 2.4 GHz
channel, if the device is DBS capable.

Change-Id: I548889265443c391d07d00951f6112983edafbcd
CRs-Fixed: 1067720
2016-09-21 17:08:20 -07:00
qcabuildsw
b89bceb4d8 Release 5.1.0.27K
Release 5.1.0.27K

Change-Id: I66faa07a43f6d86159169f7562063d7bf26cc6de
CRs-Fixed: 688141
2016-09-21 17:08:12 -07:00
Yuanyuan Liu
137755f159 qcacld-3.0: Provide PLD APIs for SMMU operations
Proivde PLD wrapper APIs for getting SMMU mapping
context and mapping SMMU to a specific physical address.

Change-Id: I3feb61b26c839547e4d050f62963e64f5ca062a7
CRs-Fixed: 1057714
2016-09-21 17:08:03 -07:00
Yuanyuan Liu
5ef6bfef5b qcacld-3.0: Add PLD ATHDIAG read/write support
Add PLD wrapper for platform athdiag read/write.
HIF will call these two functions when a athdiag read/write
triggered from user space.

CRs-Fixed: 1061837
Change-Id: Ie34c634beaf1cd91e24eca1b7ce5b6444a60393e
2016-09-21 17:07:57 -07:00
qcabuildsw
0c21495a3f Release 5.1.0.27J
Release 5.1.0.27J

Change-Id: I1a5f60b47205029d6e5dbb178f5f862a9bc47150
CRs-Fixed: 688141
2016-09-21 17:07:49 -07:00
Sreelakshmi Konamki
bda5bbfcc6 qcacld-3.0: Do not send RSO_START if bssid set in connect request
qcacld-2.0 to qcacld-3.0 propagation

Host should not allow roaming if bssid is set in connect request
and hence RSO_START should not be sent.

Add changes to not send RSO_START if bssid set in connect request.

Change-Id: I1037c60837a90472fee312e8654197ea7f68702e
CRs-Fixed: 1016886
2016-09-21 17:07:42 -07:00
Mukul Sharma
69c44cd239 qcacld-3.0: Implement Private NL CMD handling for roaming
qcacld-2.0 to qcacld-3.0 propagation

When supplicant issues enable/disable firmware based roaming on the
basis of the Bssid modification in network block (e.g. AutoJoin modify
Network Block), that time middle-ware will issue this pvt cmd to Driver.
Driver need to disable/enable firmware roaming.
(in our current design we can enable firmware roaming by offload scan
to firmware so firmware can scan and find candidate ap when rssi threshold
meet the criteria, same way driver can stop firmware roaming by stop
offload scan to firmware).

Change-Id: I378917d9d56c4d3ef13bfe8c3bf62adc6d5e7aa6
CRs-Fixed: 1012420
2016-09-21 17:07:37 -07:00
qcabuildsw
bdc1eb41ef Release 5.1.0.27I
Release 5.1.0.27I

Change-Id: Ieabbf5e86f92e056d10c81f512cdbd96a492104a
CRs-Fixed: 688141
2016-09-21 17:07:19 -07:00
Selvaraj, Sridhar
fb6f4cd3fc qcacld-3.0: Send supported channels IE, ESE Version IE to FW for LFR3
Currently, host driver adds Supported channels IE, ESE Version IE in
reassociation request initiated from driver. In LFR3, these IE's are
missing in reassociation request frames as it is initiated by FW.

As part of MBO changes, assoc IE's are sent to FW via Roam Scan Offload
command as soon as connection successful. Add the above supported channels
IE and ESE Version IE also while sending assoc IE's to FW via RSO command.

Change-Id: Ic73491d60b532e3b9bb79144599fbe111591f64a
CRs-Fixed: 1061698
2016-09-21 17:07:12 -07:00
Selvaraj, Sridhar
57bb4d03e0 qcacld-3.0: Send driver built assoc IE's to FW for LFR3
Currently, host driver adds RRM IE, Power cap IE in reassociation request
initiated from driver. In LFR3, these IE's are missing in reassociation
request frames initiated by FW.

As part of MBO changes, assoc IE's are sent to FW via Roam Scan Offload
command as soon as connection successful. Add the above RRM IE and Power
Cap IE also while sending assoc IE's to FW via RSO command. For FTM[Fine
Time Measurement] cases, RRM IE's are changed dynamically. Hence, send
the updated RRM IE with other IE's via RSO/Update_cfg command to FW.

Change-Id: Iff5ff961df89d4564a31763257b13811c4f57df4
CRs-Fixed: 1061698
2016-09-21 17:07:05 -07:00
qcabuildsw
f30a650057 Release 5.1.0.27H
Release 5.1.0.27H

Change-Id: Ibb7b2b433dd962bebc78470b707bcd32ace0cfd3
CRs-Fixed: 688141
2016-09-21 17:06:57 -07:00
Yuanyuan Liu
245a3e4380 qcacld-3.0: Update MAC address to FW
Update MAC address to FW if it is provided by host. Otherwise,
MAC address will be out-of-sync between host and FW.

Change-Id: Idcf00d80d6d9e3e39b5a5ccb6d96390c2d883fe6
CRs-Fixed: 1066986
2016-09-21 17:06:51 -07:00
qcabuildsw
428fbd62b3 Release 5.1.0.27G
Release 5.1.0.27G

Change-Id: I75bcec4cdbfe3f48fd3447a28f6332810085de9b
CRs-Fixed: 688141
2016-09-21 17:06:23 -07:00
Dustin Brown
ecfce63fdd qcacld-3.0: Minor cleanup of previous PS timeout change
Some cleanup is needed around a previous code change that reset the
power save timeout when power save is requested from user space.
Perform minor code cleanup, moving a logging statement and removing
a blank line.

Change-Id: Idc656fbaba16e58ef57625b5f9d5de37a191793a
CRs-Fixed: 1066022
2016-09-21 17:06:16 -07:00
qcabuildsw
0aa4b18621 Release 5.1.0.27F
Release 5.1.0.27F

Change-Id: Ia822d3bd4f12975d42c49d3e009f2f84acaff05f
CRs-Fixed: 688141
2016-09-21 17:06:07 -07:00
Rajeev Kumar
25a0b21ce5 qcacld-3.0: WoW pattern id should be unique for each vdev
Current host driver is using default pattern id 0 for various
WoW pattern configuration which is overwriting WoW rules in FW.
WoW pattern id should be unique for each vdev. Same WoW pattern
ID can be used on 2 different vdevs but on same vdev pattern id
for various WoW patterns must be unique. Add fix to make sure
unique pattern id is used for each vdev.

Change-Id: I893044ae50bee44b5e986f3c30967fad601eb057
CRs-Fixed: 1067951
2016-09-21 17:06:02 -07:00
qcabuildsw
c534cf6715 Release 5.1.0.27E
Release 5.1.0.27E

Change-Id: I757f98e4d23359ab21cb28cdfea66270925e25a4
CRs-Fixed: 688141
2016-09-21 17:05:56 -07:00
Arif Hussain
557920fc10 qcacld-3.0: LFR3: Fix roam_synch_in_progress flag set in csr_roam_synch_callback
roam_synch_in_progress is set by default in csr_roam_synch_callback function,
and will be reset only on SIR_ROAM_SYNCH_PROPAGATION roam op_code.

On roam_synch_in_progress set, no roam call back will be called  and  roam
command will not be removed from active list.

If roam_synch_in_progress is set on roam op_code other than SIR_ROAM_SYNCH_PROPAGATION,
roam_synch_in_progress will remain till next roam, till that time no roam commands will be
processed.

To fix this set roam_synch_in_progress only on SIR_ROAM_SYNCH_PROPAGATION roam op_code.
And also add log in csr_roam_set_bss_config_cfg if roam_synch_in_progress is set.

Change-Id: Id50e6f871280bd3eac9f61513db308ea748eec2d
CRs-Fixed: 1064213
2016-09-21 17:05:51 -07:00
qcabuildsw
810f1dccea Release 5.1.0.27D
Release 5.1.0.27D

Change-Id: Ieea278db0c032b9eb9db020160e4ae3e5225c193
CRs-Fixed: 688141
2016-09-21 17:05:42 -07:00
Govind Singh
3fc3f41f40 qcacld-3.0: Remove debug node reference for dropped skb
In rx path replayed mcast packets are dropped and freed,
but debug node reference for dropped skb is not removed.
This is resulting in invalid tracking of allocated netbuf.

Remove debug node reference for dropped skb.

Change-Id: I1e36436dadaefb666c14af57c72876a70b887e88
CRs-Fixed: 1066770
2016-09-21 17:05:36 -07:00
qcabuildsw
7c6c7734e5 Release 5.1.0.27C
Release 5.1.0.27C

Change-Id: I51bf10229d0694d5427bd5ba9147c95b58bd9ffc
CRs-Fixed: 688141
2016-09-21 17:05:20 -07:00
Mukul Sharma
80edc7843e qcacld-3.0: protect mgmt flow in SSR case
qcacld-2.0 to qcacld-3.0 propagation

Fix the race condition, between 2 kernel worker threads
while shutdown is in progress.

Change-Id: I6e71ae55c57dac8c2adb36167783615e218cb481
CRs-Fixed: 834362
2016-09-21 17:05:15 -07:00
Mukul Sharma
c4de4ef6f8 qcacld-3.0: Add SSR protect for ndo hard_start_xmit ops
qcacld-2.0 to qcacld-3.0 propagation

SSR should wait until ndo hard_start_xmit ops is completed.

Change-Id: Ic3148cfb655f87d22c40bca7825809648c7b4b4a
CRs-Fixed: 952660
2016-09-21 17:05:09 -07:00
Mukul Sharma
5ff3c587fb qcacld-3.0: Store WMI version in a global variable
qcacld-2.0 to qcacld-3.0 propagation

Capture WMI version in a global variable for crashscope
to extract WMI logs.

Change-Id: I2f06eaf182bb67dceade397652f801e6311b8f68
CRs-Fixed: 978901
2016-09-21 17:05:00 -07:00
Rajeev Kumar Sirasanagandla
af47474e5f qcacld-3.0: Add cfg ini parameter tgt_gtx_usr_cfg
qcacld-2.0 to qcacld-3.0 propagation

GTX use this parameter to drop TPC and in turn TPC drop is the cause
for mcs rate drop and may happen in higher percentage. This change,
provide a way to select the desired value and reduce mcs-8 usage to
2% from 8%.

Change-Id: I64f05c8b41cf3d360819122a08eca72f3a2c1aed
CRs-Fixed: 1010564
2016-09-21 17:04:54 -07:00
Rajeev Kumar Sirasanagandla
a00060280e qcacld-3.0: Skip channel validation in case of acs
qcacld-2.0 to qcacld-3.0 propagation

As per current implementaion whenever ACS is enabled via
INI all the update beacon from cfg80211 module fails because
sapconfig channel points to AUTO_CHANNEL_SELECT(0).

When driver ACS is enabled skip channel validation to fix
this issue.

Change-Id: Ie3e7d19332629fc860752b2240690fd6a15bb0a2
CRs-Fixed: 977101
2016-09-21 17:04:46 -07:00
Rajeev Kumar Sirasanagandla
60d6ca7a54 qcacld-3.0: Mask the log message which is affecting tput KPI
qcacld-2.0 to qcacld-3.0 propagation

"log buffers are dropped" are consistently printed which
is affecting the tput KPI's.  Masking the same with debug level
which is not enabled by default.

Change-Id: I6e9abc7d65f276d71810aedad9062152035699c0
CRs-Fixed: 956599
2016-09-21 17:04:40 -07:00
Rajeev Kumar Sirasanagandla
9cb32c0867 qcacld-3.0: validate essid length before processing scan req
qcacld-2.0 to qcacld-3.0 propagation

Presently we are not validating the length of the essid received
and directly copying the buffer without size checking.

Perform bound checking before processing the scan req.

Change-Id: I786e4feb67bf039df3d217138a412da54f51787d
CRs-fixed: 890228
2016-09-21 17:04:35 -07:00
Anurag Chouhan
ce6a405adf qcacld-3.0: Add check to Validate hif_ctx
Currently hif_ctx is passed as a parameter in hif_get_hw_info
and hif_bus_reset_resume without any validation check for the
parameter. This change Validates hif_ctx before
dereferencing the hif_ctx.

Change-Id: I17636692863bfdded691594cef40ebe55e262849
CRs-Fixed: 1066838
2016-09-21 17:04:26 -07:00
Sachin Ahuja
feedebab05 qcacld-3.0: Return the cached rssi in get_station during roaming
qcacld-2.0 to qcacld-3.0 propagation

Currently, if get_station is called during roaming, host does
not send the correct rssi.Because of this, supplicant reports
very low rssi to upper layer and handover happens to cellular.
To mitigate this issue, send the cached rssi when get_station
is queried during roaming.

Change-Id: Icceb5839503ccd99e7aef535ee438d072d3a8823
CRs-Fixed: 1055388
2016-09-21 17:04:20 -07:00
Sachin Ahuja
988fd105c5 qcacld-3.0: Abort Scan during IBSS stop adapter
qcacld-2.0 to qcacld-3.0 propagation

After interface down, kernel frees the ongoing scan
request memory and call cfg80211_scan_done.
Now, during IBSS change iface, stop adapter is called
which does not abort the scan. Once the ongoing scan is
done, HDD calls the cfg80211_scan_done for which kernel
has already freed scan req memory and this leads to crash.
Abort the scan during stop adapter for IBSS case also.

Change-Id: Ie53576399926cc3a07e6f66c0f3997b6617f9f04
CRs-Fixed: 1047004
2016-09-21 17:04:14 -07:00
Sachin Ahuja
a69c72a9fb qcacld-3.0: Enhance logging for MC address list
qcacld-2.0 to qcacld-3.0 propagation

Currently, if MC list count is more than mc count that
target can support then host configures only max count that
target can support.Rest of MC addresses are dropped.
Now if host wakes up for any MC packet, there is no way to
identify if MC address was configured to FW or not.
Change the code to print all the MC address list that userspace
has sent to Driver and the MC address list that is sent to FW.

Change-Id: Idd63385a657d1af550cf07bbfe052ce465d30608
CRs-Fixed: 1023043
2016-09-21 17:04:08 -07:00
Selvaraj, Sridhar
88015a1bc0 qcacld-3.0: Fix PMF related propagation error in handling assoc rsp
This changes fixes the qcacld-2.0 tp qcacld-3.0 propagation error
of Change-Id:I4b37d072bc92e003fcfe62ffe8f93f7c185eb6c7. Host driver
doesn't honor the Assoc reject with eSIR_MAC_TRY_AGAIN_LATER status
for non-PMF connection, due to this error.

Change-Id: Ib2defa27ee5c97ada53808d2e24a29b976fe5107
CRs-Fixed: 1067670
2016-09-21 17:03:44 -07:00
Deepthi Gowri
5ba69b744c qcacld-3.0: Purge the scan results by age before posting to upper layer
qcacld-2.0 to qcacld-3.0 propagation

Currently the age out of scan results is ineffective as the aging
timer is started only once the scan results are obtained from
the FW, which would expire in 1 sec, so it could be possible that
the cached scan entries may still persist and may not be aged out
To address this issue, purge the scan results by age, before the
scan results are updated to upper layer.

CRs-Fixed: 997430
Change-Id: Ib70b04f4a720123d21ba820dd3c1e86076083dc9
2016-09-21 17:03:37 -07:00
Deepthi Gowri
93d3147035 qcacld-3.0: Purge old scan entries if max BSS limit reached
qcacld-2.0 to qcacld-3.0 propagation

In the driver, while processing the scan results, if the max
BSS limit is reached, all the newest scan results are dropped
and stale scan results are updated to upper layers.
To address this, remove the oldest scan entry if the max BSS
limit is reached.

Change-Id: Ib85a8a3b66fbf903311002887a3c5c3d10bfbccf
CRs-Fixed: 991417
2016-09-21 17:03:30 -07:00
Agrawal Ashish
afe4ca0324 qcacld-3.0: Check for max num of num_dscp_exceptions in limLogQosMapSet
qcacld-2.0 to qcacld-3.0 propagation
In limLogQosMapSet, dscp_exceptions is max of 21 size but
there is no limit check for num_dscp_exceptions.
Check for max size for num_dscp_exceptions to avoid overflow.

Change-Id: Ia1f64860f924aa0d586b2d0d532183ef9b18f2e0
CRs-Fixed: 933465
2016-09-21 17:03:21 -07:00
Agrawal Ashish
ad16bda716 qcacld-3.0: Check for max number of num_dscp_exceptions in QOS map set
qcacld-2.0 to qcacld-3.0 propagation

In convert_qos_mapset_frame, dscp_exceptions is max of 21 size but
there is no limit check for num_dscp_exceptions.
Check for max size for num_dscp_exceptions.

Change-Id: Id098da5231b4f3e40abe369e52960859091dc200
CRs-Fixed: 931435
2016-09-21 17:03:13 -07:00
Abhishek Singh
cdcc5e7a6f qcacld-3.0: Disconnect the session if the connect channel is not valid
qcacld-2.0 to qcacld-3.0 propagation

If reg domain changes during connection and the connecting channel
is not valid, driver may connect to an invalid channel.

In this case wlan_hdd_cfg80211_update_bss_db will return NULL and
thus sta will not be registered to TL. This will cause RX frames
buffered in TL layer and eventually low resource condition.

To avoid this schedule a disconnect for the session if
wlan_hdd_cfg80211_update_bss_db returns NULL.

Change-Id: I72b62ea7d47f53db55daea5725fa833fd1a45fb8
CRs-Fixed: 1034569
2016-09-21 17:02:58 -07:00
Abhishek Singh
ca4080369e qcacld-3.0: Block the RRM measurement request till DHCP is completed
qcacld-2.0 to qcacld-3.0 propagation

When RRM measurement request is received, it triggers a RRM scan.
Now if DHCP is in progress when this scan is triggered, DHCP may
fail leading to disconnect.

To avoid this block the RRM measurement request till DHCP is
completed or DHCP timeout happens.

Change-Id: I9f84bdc04519363933b5de3229bee9d1c4f9fe43
CRs-Fixed: 1020108
2016-09-21 17:02:44 -07:00
Abhishek Singh
a84d395e61 qcacld-3.0: Use timeout api to indicate connect timeouts to kernel
qcacld-2.0 to qcacld-3.0 propagation

For supplicant there is no way to differentiate between connect
failure due to assoc rejected by AP and probe resp/auth/assoc
timeout.

Thus use cfg80211_connect_timeout API instead of
cfg80211_connect_bss API if connect request fails due to
probe resp/auth/assoc timeout.

Change-Id: I675fa17d1151e957a04050490f3efe343fdcc7c6
CRs-Fixed: 1056230
2016-09-21 17:02:37 -07:00
Agrawal Ashish
b141b09b36 qcacld-3.0: Add feature flag for DSRC feature
qcacld-2.0 to qcacld-3.0 propagation

Currently DSRC feature is compiled for all the
targets even if DSRC is not required.
Fix to protect DSRC changes with DSRC enabled feature.

Change-Id: I2e6f975366e1de8aa8afb818a073e1591f76d7fb
CRs-Fixed: 1053362
2016-09-21 17:02:26 -07:00
Agrawal Ashish
4c104387cc qcacld-3.0: Fix SAP start failure issue
qcacld-2.0 to qcacld-3.0 propagation

At the time of driver load, sap session is opened as part of
hdd_init_ap_mode but in case of sap restart, sme_open_session
is called from sapFsm.
At the time of opening session, sme_open_session register
wlansap_roam_callback callback for connection status.
If this callback is not registered, HDD will not get connection
status and HDD will start cleanup after SAP connection timeout which
will result in SAP failure.
Need to register wlansap_roam_callback as part of sme_open_session
when session is not created as part of hdd_init_ap_mode.

Change-Id: Ifd2cec5fec432f1dcd2b39c59df1f1c5b13c55d5
CRs-Fixed: 1051097
2016-09-21 17:02:18 -07:00
Agrawal Ashish
7dd7c59917 qcacld-3.0: Correct handling for VDEV_UP
qcacld-2.0 to qcacld-3.0 propagation

In SAP case there are two situation when driver needs to do vdev restart.
1)Hidden SSID: In case of Hidden ssid, vdev restart happens.
In process of restart first vdev stop happens then vdev restart and
finally VDEV_UP happens.
2)DFS detection on current channel: In this case due to DFS detection
driver need to change the current channel.
To change the channel vdev restart happens.
There can be a race condition when restart is happening as part of
Hidden ssid or switch channel, wma_send_beacon can do vdev up.
Fix this by not calling wmi_unified_vdev_up_send if restart is in progress.

Change-Id: I16c86105748b34b76ed575fc2e69a54cc7bab1c6
CRs-Fixed: 958230
2016-09-21 17:02:09 -07:00
Selvaraj, Sridhar
af54e2e6f0 qcacld-3.0: Update capability info in Reassoc request to be in sync with BSS
qcacld-2.0 to qcacld-3.0 propagation

Check if the spectrum management, short preamble, immediate block ack
are supported by BSS before sending Reassoc request in roaming and
reset the corresponding capability info bits in Reassoc request if the
respective BSS does not support it

Git-commit: 1424fcbda6a8a71484ead54c059e17069f9895d7
Change-Id: Ied61d9b963b0b8176655fadaa7f1458cb1e830ef
CRs-Fixed: 1002770
2016-09-21 17:02:02 -07:00
Selvaraj, Sridhar
251761aeab qcacld-3.0: Add support to handle TDLS event in WOW mode
qcacld-2.0 to qcacld-3.0 propagation.

TDLS teardown event sent by firmware is not processed whenever
host is in WOW mode which will lead to failure of TDLS
teardown

Fix is to handle this event in WOW mode.

Git-commit: 9cd6b405b3b75ff59febc30b5d8a6374b3f69675
Change-Id: I3649bfdf4381f49483a3ffe2c80d5339b52a3764
CRs-Fixed: 1009456
2016-09-21 17:01:54 -07:00
Padma, Santhosh Kumar
9509135262 qcacld-3.0: Add timer related messages at the top of PE queue
qcacld-2.0 to qcacld-3.0 propagation

Currently when PE queue is full, timer message gets queued at the
end of PE queue even when timer gets expired in time. This causes
delay in processing timer messages. This delay can be maximum if
timer message is the last message in PE queue. This can take substantial
amount of time to process timer message as timer message will be
processed only after processing of other messages. For instance,
if timer message processing takes substantial amount of time during
scan, it can delay sending max channel timeout and may result in
scan timeout. So, add timer related messages at
the top of PE queue to process those messages immediately.

Change-Id: Iccaf0075c97a7edd2c1de1d168f1a4e7d01381c2
CRs-Fixed: 936179
2016-09-21 17:01:47 -07:00
Padma, Santhosh Kumar
429553dfdb qcacld-3.0: Fix Beamforming during roaming
qcacld-2.0 to qcacld-3.0 propagation

Currently, capabilities su_beam_formee are set during association request
but not in re-association request. This can lead to failure in beamforming
after roaming. Fix this by updating them during roaming as well.

Change-Id: I28e86b93a5114f3b76733effe4428a92cf94b441
CRs-Fixed: 1033328
2016-09-21 17:01:39 -07:00
Deepthi Gowri
7e11bc3515 qcacld-3.0: Flush p2p scan results before single channel p2p scan
qcacld-2.0 to qcacld-3.0 propagation

Currently the p2p scan results are not flushed if the p2p
scan is issued for a single channel scan which would result
in a stale entry.

To address this, flush the p2p scan results before issuing
single channel p2p scan.

Change-Id: Iaaee1b4b4147e68e99927ea90082bc6f288a2e72
CRS-Fixed: 855782
2016-09-21 17:01:21 -07:00
Nitesh Shah
d8ff632154 qcacld-3.0: Enable WMM-QoS for HT capable TDLS peers
Propagation from qcacld-2.0 to qcacld-3.0.

During TDLS session establishment, assume the peer is HT
capable STA. If WMM-QoS is enabled in the DUT, but the TDLS
peer does not have WMM/WME IE in TDLS Setup Request/Response
and has QoS Capability element, then the DUT does not
transmit data with QoS. Thus, the throughput gets decreased.

Fix is to enable QoS for the STA for TDLS session if the peer
is HT/VHT capable or WMM/WME IE is present.

Change-Id: Id74983f41ce5de797202edc501f3904d57535ec6
CRs-Fixed: 1053852
2016-09-21 17:01:13 -07:00
Nitesh Shah
99934acf2d qcacld-3.0: Enable QOS if TDLS peers are QOS capable
qcacld-2.0 to qcacld-3.0 propagation

DUT is enabling QOS based on fixed capabilities in host which
is leading to issue of sending data frames withou QOS header
even though peers are capable.

Fix is to ensure that QOS will be enabled by interpreting
WMM IE.

Change-Id: I08d12ccfc6f1587f228618f2add4b5a1549df8ad
CRs-Fixed: 955872
2016-09-21 17:01:06 -07:00
Agrawal Ashish
d3f22f6b7f qcacld-3.0: Update QOS capability of TDLS station/link with Data Path
qcacld-2.0 to qcacld-3.0 propagation

Currently, the QOS capability of the TDLS link is updated
based on the BSS capability. Thus, if the BSS is not QOS
capable, the TDLS link eventually is not considered as QOS capable.
To address this, update the TDLS link with the data path with the
QOS capability based on the TDLS handshake between the peers.
The information of QOS is obtained to the driver through
the change_station callback from the supplicant and thus
the information is updated to the data path accordingly.
Also, this commit advertises that the station is QOS capable
by default in the TDLS setup request /response handshakes.

Change-Id: I6a36fd77b333e66e8c030f5230b4aaaee6d7a00c
CRs-Fixed: 776081
2016-09-21 17:00:59 -07:00
Nitesh Shah
d732f74d74 qcacld-3.0: Diag event for WOW reason code
Propagation from qcacld-2.0 to qcacld-3.0

Add diag event for WOW reason code.
The event EVENT_WLAN_POWERSAVE_WOW will be used to
inform the WOW reason code.

Change-Id: I9273c9e737b97207ce0acee131ab6f3c19cd3e0d
CRs-Fixed: 1037383
2016-09-21 17:00:51 -07:00
Abhishek Singh
440450989a qcacld-3.0: Do not trigger del sta if it is already in progress
qcacld-2.0 to qcacld-3.0 propagation

If SAP receive auth from an already connected STA, it post
eWNI_SME_DISASSOC_IND msg to SME to delete the STA context and
return. STA may try to send auth again as it didnt receive auth
resp.

Now many frames (probe req, auth etc) may get accumulated in PE
message queue and unless PE queue is fully processed SME queue will
not be processed and thus del sta will get delayed. This may again
cause STA to send more auth req and every time MC thread process an
auth req before the sta is deleted, eWNI_SME_DISASSOC_IND msg is
posted in SME message queue.

And if PE keeps on getting auth before the sta is deleted,
SME queue will pile up leading to crash.

To fix this do not trigger del sta if it is already in progress.

Change-Id: Icff3778d35ef7ea646463fe49c4335e260e9e156
CRs-Fixed: 982329
2016-09-21 17:00:42 -07:00
Abhishek Singh
c994160fb0 qcacld-3.0: If BSS is unreachable remove it from scan cache
qcacld-2.0 to qcacld-3.0 propagation

If BSS is present in kernel and driver scan cache, supplicant
tries to connect to the BSS multiple time even if the BSS is
unreachable. Due to multiple failures to connect supplicant
disable the network.

To avoid this, remove the BSS from scan cache:
 - If connect fails due to BSS unreachable i.e. probe
   resp/auth/assoc timeout and scan for ssid failure.
 - If disconnect is due to Link lost.

Change-Id: I3263dd02691000d83d4aef61c75b72d78c28f582
CRS-Fixed: 1039104
2016-09-21 17:00:33 -07:00
Abhishek Singh
a6b0982b34 qcacld-3.0: Avoid sending P2P action frame confirmation twice
qcacld-2.0 to qcacld-3.0 propagation..

P2P action frame confirmation can be called from work queue
wma_mgmt_tx_ack_work_handler as well as from MC thread during
remain on channel completion. So it can lead to race condition
where frame confirmation is called twice and driver tries to free
frame buffer twice.

To detect duplicate use PE global lock in P2P action frame
confirmation.

Change-Id: Id193b5a979fad5effa7c6b00d89452ad876ae00e
CRs-Fixed: 1035077
2016-09-21 17:00:14 -07:00
Srinivas Girigowda
e1e691382c qcacld-3.0: Move certain logs to appropriate log levels
Propagation from qcacld-2.0 to qcacld-3.0

Some of the logs are printing quite often and spamming the kernel logs.
Hence move them to appropriate log levels and remove the useless debug
messages.

Change-Id: If38d7a6a3cf13a5879f6a628d3d7eb4f5156a95b
CRs-Fixed: 1001441
2016-09-21 16:58:47 -07:00
Abhishek Singh
37456d231d qcacld-3.0: Add VHT transmit power envelope IE in chan switch wrapper
qcacld-2.0 to qcacld-3.0 propagation

Add changes to support VHT transmit power envelope sub element in
channel switch wrapper.

Change-Id: Ieac517ec44238034e1a5539cbe10ebbefb30dd09
CRs-Fixed: 1052716
2016-09-21 11:44:47 -07:00
Service qcabuildsw
d88ce7d6ba Merge "qcacld-3.0: Create bug report in case of nil scan results" into wlan-cld3.driver.lnx.1.1-dev 2016-09-21 11:00:46 -07:00
Service qcabuildsw
63a5df90a2 Merge "qcacld-3.0: Disable IBSS creator info upon GETIBSSPEERINFOALL command" into wlan-cld3.driver.lnx.1.1-dev 2016-09-20 17:45:15 -07:00
Service qcabuildsw
1fbb72bde0 Merge "qcacld-3.0: Fix the bug in populating the ll stats" into wlan-cld3.driver.lnx.1.1-dev 2016-09-20 17:45:14 -07:00
Service qcabuildsw
f96d23aa34 Merge "qcacld-3.0: Validate and Rectify RSN IE in probe response frame" into wlan-cld3.driver.lnx.1.1-dev 2016-09-20 17:45:14 -07:00
Service qcabuildsw
eb5dc00fd9 Merge "qcacld-3.0: Add proper lengths to payload" into wlan-cld3.driver.lnx.1.1-dev 2016-09-20 17:45:13 -07:00
Service qcabuildsw
061013e1ea Merge "qcacld-3.0: Fix buffer overflow" into wlan-cld3.driver.lnx.1.1-dev 2016-09-20 17:45:13 -07:00
Service qcabuildsw
94e8ed4d94 Merge "qcacld-3.0: Fix pmfComebackTimer during roaming" into wlan-cld3.driver.lnx.1.1-dev 2016-09-20 17:45:12 -07:00
Service qcabuildsw
eef571d3b1 Merge "qcacld-3.0: Reset use_protection when legacy AP goes away" into wlan-cld3.driver.lnx.1.1-dev 2016-09-20 17:45:12 -07:00
Service qcabuildsw
7329f35b8e Merge "qcacld-3.0: Unpause data queue after SAP SSID setting" into wlan-cld3.driver.lnx.1.1-dev 2016-09-20 17:45:11 -07:00
Service qcabuildsw
ec902e2adf Merge "qcacld-3.0: Parse attributes for vendor IE and access policy" into wlan-cld3.driver.lnx.1.1-dev 2016-09-20 17:45:11 -07:00
Service qcabuildsw
26b45de1b1 Merge "qcacld-3.0: Add access policy for vendor IE" into wlan-cld3.driver.lnx.1.1-dev 2016-09-20 17:45:10 -07:00
Service qcabuildsw
d9be4bba04 Merge "qcacld-3.0: Use preauth channel to fetch the band during roaming" into wlan-cld3.driver.lnx.1.1-dev 2016-09-20 17:45:10 -07:00
Service qcabuildsw
26aafeff8f Merge "qcacld-3.0: Fix to send the deauthentication frame from HDD" into wlan-cld3.driver.lnx.1.1-dev 2016-09-20 17:45:09 -07:00
Service qcabuildsw
365cd42b5d Merge "qcacld-3.0: Pass the correct reason code to disassoc" into wlan-cld3.driver.lnx.1.1-dev 2016-09-20 17:45:09 -07:00
qcabuildsw
7f17f527a0 Merge "Release 5.1.0.27B" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:40:51 -07:00
Service qcabuildsw
9441550889 Merge "qcacld-3.0: Refactor support to get per chain rssi stats" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:40:50 -07:00
Service qcabuildsw
ca47d22857 Merge "qcacld-3.0: Add support to get per chain rssi stats" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:40:49 -07:00
qcabuildsw
fe6fdc69c5 Merge "Release 5.1.0.27A" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:40:45 -07:00
qcabuildsw
a207b4643f Merge "Release 5.1.0.27" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:40:34 -07:00
Service qcabuildsw
454a46a6d4 Merge "qcacld-3.0: Add check to Validate SSID length" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:40:33 -07:00
Service qcabuildsw
6ff6395f46 Merge "qcacld-3.0: Add check to Validate cfg_ini" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:40:32 -07:00
qcabuildsw
f76edd5778 Merge "Release 5.1.0.26Z" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:40:28 -07:00
Service qcabuildsw
0f940a0634 Merge "qcacld-3.0: Cleanup ESE feature" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:40:27 -07:00
qcabuildsw
20c626b269 Merge "Release 5.1.0.26Y" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:40:26 -07:00
Service qcabuildsw
946f5a70d7 Merge "qcacld-3.0: Fix a compilation error in wlan_hdd_auto_shutdown_cb()" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:40:25 -07:00
Service qcabuildsw
8a1ee10b4f Merge "qcacld-3.0: Fix a compilation error ing nl_srv_init()" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:40:24 -07:00
Service qcabuildsw
4129d18b54 Merge "qcacld-3.0: Cleanup NAN feature" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:40:23 -07:00
Service qcabuildsw
c32100e02e Merge "qcacld-3.0: Cleanup IBSS feature" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:40:22 -07:00
qcabuildsw
8dcb9450f1 Merge "Release 5.1.0.26X" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:40:21 -07:00
Service qcabuildsw
093e1532fb Merge "qcacld-3.0: Call pld_pcie_power_off in pld_power_off" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:40:09 -07:00
qcabuildsw
d6a767c4c3 Merge "Release 5.1.0.26W" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:39:38 -07:00
Service qcabuildsw
fe1a019e39 Merge "qcacld-3.0: Populate CDS config flag bpf_packet_filter_enable" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:39:08 -07:00
Service qcabuildsw
f67d3da018 Merge "qcacld-3.0: Cleanup MBSSID compilation flag (phase 3)" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:39:06 -07:00
Service qcabuildsw
b1c7a8cedb Merge "qcacld-3.0: Cleanup MBSSID compilation flag (phase 2)" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:39:05 -07:00
Service qcabuildsw
57e55d13a5 Merge "qcacld-3.0: Cleanup MBSSID compilation flag (phase 1)" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:39:04 -07:00
qcabuildsw
adbe03c96b Merge "Release 5.1.0.26V" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:39:04 -07:00
Service qcabuildsw
bacd348254 Merge "qcacld-3.0: Fix possible NULL pointer dereference for sta_ds" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:39:03 -07:00
Service qcabuildsw
d48c54a4e8 Merge "qcacld-3.0: If mac_ctx is NULL, do not use it for logging purpose" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:39:02 -07:00
Service qcabuildsw
146ccaa795 Merge "qcacld-3.0: Check WMA for NULL before dereferencing" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:39:01 -07:00
qcabuildsw
918a1c1b1a Merge "Release 5.1.0.26U" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:39:01 -07:00
Service qcabuildsw
d1e3b6f330 Merge "qcacld-3.0: Cleanup HDD suspend/resume logging messages" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:59 -07:00
Service qcabuildsw
602b0bf83f Merge "qcacld-3.0: Fix race condition between PM suspend and fw irq" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:58 -07:00
Service qcabuildsw
044c4684d1 Merge "qcacld-3.0: Register suspend_noirq/resume_noirq to kernel" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:57 -07:00
Service qcabuildsw
654d5a42ec Merge "qcacld-3.0: Call ICNSS APIs for get/set channels and dfs" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:56 -07:00
Service qcabuildsw
5ae85b3d4f Merge "qcacld-3.0: Remove obsolete RRM "max duration" configuration" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:55 -07:00
Service qcabuildsw
c32483cd41 Merge "qcacld-3.0: Re-fix max dwell time for passive scan beacon report" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:54 -07:00
Service qcabuildsw
abfbde7d6f Merge "Revert "qcacld-3.0: Fix max dwell time for passive scan beacon report"" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:53 -07:00
Service qcabuildsw
507ea5791d Merge "qcacld-3.0: Converge gDataInactivityTimeout default values" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:52 -07:00
Service qcabuildsw
751496b5a2 Merge "qcacld-3.0: Converge ImplicitQosIsEnabled default values" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:51 -07:00
Service qcabuildsw
a676c99e80 Merge "qcacld-3.0: Converge Intf*MacAddress default values" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:50 -07:00
Service qcabuildsw
1453a64e96 Merge "qcacld-3.0: Remove obsolete "isAndroidPsEn" configuration" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:49 -07:00
Service qcabuildsw
ed93d28ad7 Merge "qcacld-3.0: Remove "Beacon Early Termination" configuration" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:48 -07:00
Service qcabuildsw
b262de76ca Merge "qcacld-3.0: Remove obsolete "flex connect" configuration" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:47 -07:00
Service qcabuildsw
7433d0e84c Merge "qcacld-3.0: Remove obsolete "AGC Listen mode" configuration" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:46 -07:00
Service qcabuildsw
b395d45b47 Merge "qcacld-3.0: Remove obsolete "num rx antenna" configuration" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:45 -07:00
Service qcabuildsw
82829761c1 Merge "qcacld-3.0: Remove obsolete "TX Power Control" configuration" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:45 -07:00
Service qcabuildsw
d7024bdb87 Merge "qcacld-3.0: Remove obsolete "enable close loop" configuration" into wlan-cld3.driver.lnx.1.1-dev 2016-09-19 12:38:44 -07:00
Kapil Gupta
0ed58dc628 qcacld-3.0: Create bug report in case of nil scan results
qcacld-2.0 to qcacld-3.0 propagation

Host should trigger bug report if HDD has zero scan results
to report to cfg80211 layer.
Add changes to trigger bug report if HDD has zero scan
results.

Change-Id: Ibac7fc5abfc860fc8759fe2cd029d19e2d6662a9
CRs-Fixed: 992733
2016-09-16 21:06:37 +05:30
yeshwanth sriram guntuka
0255f8542d qcacld-3.0: Disable IBSS creator info upon GETIBSSPEERINFOALL command
When GETIBSSPEERINFOALL command is used to print IBSS peer info,
both creator and peer info are displayed.

Fix is to decrease the loop iteration by one so that creator
info is not displayed.

Change-Id: I1cc467d6fd4b3b29f86f01aa111235f04ddaef42
CRs-Fixed: 1061472
2016-09-16 21:06:37 +05:30
Kondabattini, Ganesh
32be083b3d qcacld-3.0: Fix the bug in populating the ll stats
qcacld-2.0 to qcacld-3.0 propagation

If ll stats provided by FW has more than one peer then
Driver is allocating memory for all the peers but copying stats
for only first peer before sending it to upper layer.

Fix the issue to copy stats for all the peers.

Change-Id: I91b14377acfed6ccdde4315c4796ef1adbfd18c3
CRs-Fixed: 1018539
2016-09-16 21:06:37 +05:30
Padma, Santhosh Kumar
209c195927 qcacld-3.0: Validate and Rectify RSN IE in probe response frame
qcacld-2.0 to qcacld-3.0 propagation

There are some Access points that have not included the
capability field in the RSN ie's though the length for the
RSN ie's indicate for the presence of this field. This shall
result in the next byte after this RSN ie as the capability
field, thus resulting in the improper interpretation of this
field, the end result being a failure to connect to such AP's.
This commit introduces a work around to interop with such AP's
by appending the capability field with 0 value to the obtained ie.
It updates MPDU length of received RxPacket based on addition of
RSN Capability if it is missing in Probe response.

Change-Id: Ic599c8bdb19e368fefb13293499451e7ab38d517
CRs-Fixed: 667983
2016-09-16 21:06:37 +05:30
Padma, Santhosh Kumar
eb0191f574 qcacld-3.0: Add proper lengths to payload
qcacld-2.0 to qcacld-3.0 propagation

Currently, sizeof(tAniHdr) is not added to payload length in
messages in wlan_send_sock_msg_to_app, ptt_sock_send_msg_to_app.
These missing lengths can cause user space
to drop these messages. Fix this by adding appropriate lengths.

Change-Id: I2609029445110e661440a7fc55f36801e4f72afc
CRs-Fixed: 985614
2016-09-16 21:06:36 +05:30
Padma, Santhosh Kumar
faaa7bd8e2 qcacld-3.0: Fix buffer overflow
qcacld-2.0 to qcacld-3.0 propagation

In limInitPeerIdxpool, driver initializes gLimAssocStaLimit/
gLimIbssStaLimit entries of peer index pool. But there is a chance
of allocating less memory for peer index pool in peCreateSession
which can overwrite adjacent memory locations as maxStation can be
different from gLimAssocStaLimit/gLimIbssStaLimit. Fix this by
initializing maxStation entries.

Change-Id: I915e67fe7a15ebe622273af971d8a88ad78585cf
CRs-Fixed: 1025378
2016-09-16 21:06:36 +05:30
Padma, Santhosh Kumar
dcba34f1c1 qcacld-3.0: Fix pmfComebackTimer during roaming
qcacld-2.0 to qcacld-3.0 propagation

Currently pmfComebackTimer is not initialized during roaming. This
can lead to error in pe_delete_session when driver tries to destroy
pmfComebackTimer. Fix this by initializing pmfComebackTimer during
roaming. Also, handle status eSIR_MAC_TRY_AGAIN_LATER as failure
during roaming.

Change-Id: Ic9c4e996c4078d09ef7cd9b3b073105d94eb53fb
CRs-Fixed: 1037640
2016-09-16 21:06:36 +05:30
Selvaraj, Sridhar
dc038ee71e qcacld-3.0: Reset use_protection when legacy AP goes away
qcacld-2.0 to qcacld-3.0 propagation

use_protection in erp IE was not reset after legacy AP goes away
which was leading to reduced throughput issue.
Fix is to reset protection bit and update the FW once legacy AP
goes away.

Git-commit: c7218f04e83907f1bba51131adf448360076d1d4
Change-Id: I4138434477e1de432b9547ce1aec4968a559188f
CRs-Fixed: 1006601
2016-09-16 21:06:36 +05:30
Selvaraj, Sridhar
a0083c4cfa qcacld-3.0: Unpause data queue after SAP SSID setting
qcacld-2.0 to qcacld-3.0 propagation

Client connectivity with SAP fails after Association due to DHCP Timeout.
This happens as iwpriv command is issued to change the SSID type to hidden,
As part of this command VDEV STOP->VDEV RESTART->VDEV UP are issued to
firmware. DHCP frames are stuck in the driver queues as queues are paused
as part of VDEV restart sequence done for hidden SSID. VDEV unpause is not
done after VDEV up which leads to this issue. This fix unpauses the data
queue after the SSID configuration is done. Also, recalibration of Hidden
SSID setting is avoided if the required setting(broadcast/hidden SSID) is
already configured

Git-commit: a14bb2ab3423674c2b6a1a67f7a33232816af7f7
Change-Id: Ic31fc5c7fc8ea7d47358cf701e51fa830eefd2ab
CRs-Fixed: 990208
2016-09-16 21:06:36 +05:30
Kondabattini, Ganesh
44f6a21496 qcacld-3.0: Parse attributes for vendor IE and access policy
qcacld-2.0 to qcacld-3.0 propagation

User can configure the vendor IE and access policy from
application. Driver has to parse this vendor attribute and
update the protocol stack.

Change-Id: I176570336aea74b10c5a7e6ad42ed9854dc11b8c
CRs-Fixed: 1020078
2016-09-16 21:06:36 +05:30
Kondabattini, Ganesh
e4f18e0c34 qcacld-3.0: Add access policy for vendor IE
qcacld-2.0 to qcacld-3.0 propagation

User configures vendor IE and access policy to allow or deny
association. PE should allow or deny connection based on access
policy and presence of vendor ie in probe request/association
irequest frame.

Change-Id: Ia2714ba07a67602e552a6f43928f02de0d4d0b9b
CRs-Fixed: 1020078
2016-09-16 21:06:36 +05:30
Deepthi Gowri
1de51e3876 qcacld-3.0: Use preauth channel to fetch the band during roaming
qcacld-2.0 to qcacld-3.0 propagation

During roaming the connected AP's operating channel is used instead of
preauth channel to fetch the band, based on which the data rate is set.
Due to this incorect data rate is set.

To address this, use the preauth channel during roaming to fetch the band
and set the data rate accordingly.

CRs-Fixed: 1017943
Change-Id: Ia3bf13c1a93a156eba8461bcdcf3490b9f49c2a2
2016-09-16 21:06:36 +05:30
Kondabattini, Ganesh
3f2d02cd32 qcacld-3.0: Fix to send the deauthentication frame from HDD
qcacld-2.0 to qcacld-3.0 propagation

Currently, On sending disassoc from HDD lim will process
disassoc and clear's session of station and thus leading to
drop deauth in lim since context is already cleared. Hence
deauth frame is not sent from SoftAP although deauth command
is executed on hostapd_cli.
Fix will ensure to send disassoc command through new API
and doesn't clear's session and the same is cleared after
sending deauth.

Change-Id: I912a91f1df4001bb2d4f1f0d6031cc102d1bbd65
CRs-Fixed: 981121
2016-09-16 21:06:35 +05:30
Deepthi Gowri
b3bfefd6e1 qcacld-3.0: Pass the correct reason code to disassoc
qcacld-2.0 to qcacld-3.0 propagation

use the same reason code in the disassoc, which the upper
layer has passed to the driver

Change-Id: I6302a5c8318a8e3c1221b9272637455da4e7f150
CRs-Fixed: 852387
2016-09-16 21:06:35 +05:30
qcabuildsw
81f573f56d Release 5.1.0.27B
Release 5.1.0.27B

Change-Id: I0c83f9c785d1119c3f6f0e5bff3e7f79fadf84d3
CRs-Fixed: 688141
2016-09-16 05:50:06 -07:00
Himanshu Agarwal
cd8a84ad46 qcacld-3.0: Refactor support to get per chain rssi stats
Propagation from qcacld-2.0 to qcacld-3.0.

Add sanity check based on TLV len in addition to the check
based on TLV tag id to ensure that if fw does not support or
is not sending rssi stats then HOST does not process it at all.

Change-Id: I92b197f9578aa003bf622617c363fea7334dbcb2
CRs-Fixed: 1023179
2016-09-16 05:50:05 -07:00
Himanshu Agarwal
37e4241cf0 qcacld-3.0: Add support to get per chain rssi stats
Propagation from qcacld-2.0 to qcalcd-3.0.

Add support to get per chain rssi from fw via
already existing WMI command WMI_REQUEST_STATS_CMDID
and then store it in the station_info structure defined
by cfg80211.

Change-Id: Id50c96dd322b5ca4db34cf2df901730d8b103251
CRs-Fixed: 1005367
2016-09-16 05:50:03 -07:00
qcabuildsw
b6bfefe7a5 Release 5.1.0.27A
Release 5.1.0.27A

Change-Id: Idc76f6db701a3e3e607c9bc07b880c7a7ec8cec0
CRs-Fixed: 688141
2016-09-16 02:54:40 -07:00
qcabuildsw
c4b4a4b9f6 Release 5.1.0.27
Release 5.1.0.27

Change-Id: I025b0bd846197f44d5bb97febfc92754a3a11615
CRs-Fixed: 688141
2016-09-16 00:25:15 -07:00
Anurag Chouhan
172a7c353b qcacld-3.0: Add check to Validate SSID length
qcacld-2.0 to qcacld-3.0 propagation.

Validate ssid length before accessing the ssid
if the length exceeds max ssid length then return.

Change-Id: I6902a8a3edf6547cf30d37fe5e435ad4f226ac46
CRs-Fixed: 1059205
2016-09-16 00:25:14 -07:00
Anurag Chouhan
2c4e0a1b73 qcacld-3.0: Add check to Validate cfg_ini
qcacld-2.0 to qcacld-3.0 propagation

Validate cfg_ini before dereferencing the ini
parameter gEnableRoamDelayStats.

Change-Id: I0b2b78f8838cb1c46c60669b8f327ac18e863e80
CRs-Fixed: 1059205
2016-09-16 00:25:13 -07:00
qcabuildsw
c78f42e46e Release 5.1.0.26Z
Release 5.1.0.26Z

Change-Id: Icfcfd412b51e9063cba20d68791c640c8b76f1b4
CRs-Fixed: 688141
2016-09-15 22:30:56 -07:00
Mahesh Kumar Kalikot Veetil
4057511a64 qcacld-3.0: Cleanup ESE feature
Fix compilation errors when turning off FEATURE_WLAN_ESE

Change-Id: I8a9c87c1ed9b72ae662ec199b373746c5ef6f911
CRs-Fixed: 1067021
2016-09-15 22:30:55 -07:00
qcabuildsw
193c75973e Release 5.1.0.26Y
Release 5.1.0.26Y

Change-Id: I3fa032ef7762f08818f8b783b7c886ab56520f81
CRs-Fixed: 688141
2016-09-15 21:04:45 -07:00
Mahesh Kumar Kalikot Veetil
d214d55b6e qcacld-3.0: Fix a compilation error in wlan_hdd_auto_shutdown_cb()
Fix a compilation when FEATURE_WLAN_AUTO_SHUTDOWN is enabled

Change-Id: Ib3b4c48a32482dc3175b02e8c7180d8ced976239
CRs-Fixed: 1067109
2016-09-15 21:04:44 -07:00
Mahesh Kumar Kalikot Veetil
0641e37974 qcacld-3.0: Fix a compilation error ing nl_srv_init()
Fix compilation errors when turning on CONFIG_CNSS_LOGGER

Change-Id: I65cf319d6e0a608d51708bb1acaa320207ec17f0
CRs-Fixed: 1067048
2016-09-15 21:04:43 -07:00
Mahesh Kumar Kalikot Veetil
919e01d422 qcacld-3.0: Cleanup NAN feature
Fix compilation errors when turning off WLAN_FEATURE_NAN

Change-Id: Ic1106d88ea7d9fc8d08f748a6b6e66e6e6607128
CRs-Fixed: 1067040
2016-09-15 21:04:41 -07:00
Mahesh Kumar Kalikot Veetil
32e4fc75d1 qcacld-3.0: Cleanup IBSS feature
Fix compilation errors when turning off QCA_IBSS_SUPPORT

Change-Id: I3a493c710077bec0a8bc5521d0d433ccd62b4e74
CRs-Fixed: 1067029
2016-09-15 21:04:40 -07:00
qcabuildsw
b7b5843a3f Release 5.1.0.26X
Release 5.1.0.26X

Change-Id: I13f4d6734a7cde563a80c31f4847e823a656b845
CRs-Fixed: 688141
2016-09-15 19:34:09 -07:00
Yuanyuan Liu
187dcc5b93 qcacld-3.0: Call pld_pcie_power_off in pld_power_off
There's mistake that pld_power_off calls pld_pcie_power_on. Fix
this by calling the correct pcie power function.

Change-Id: I9e968d749479856510e0dd7f32f5babc57b6ebed
CRs-Fixed: 1064058
2016-09-15 19:34:09 -07:00
qcabuildsw
354ed8553e Release 5.1.0.26W
Release 5.1.0.26W

Change-Id: Ie5186561c3fbef8b68c39074fdf48271ca764b9f
CRs-Fixed: 688141
2016-09-15 18:40:04 -07:00
Dustin Brown
d3fc9eec42 qcacld-3.0: Populate CDS config flag bpf_packet_filter_enable
The CDS config flag bpf_packet_filter_enable is not being populated.
Populate bpf_packet_filter_enable with the corresponding value from
the ini config.

Change-Id: Ia13386e74d43d7a5cad55e4c77f5eb8bcdc9f43b
CRs-Fixed: 1067041
2016-09-15 18:40:04 -07:00
Dustin Brown
5118e8ebd3 qcacld-3.0: Cleanup MBSSID compilation flag (phase 3)
The WLAN_FEATURE_MBSSID conditional compilation flag is no longer
needed since MBSSID is a required feature. Remove this flag and
any alternate code referenced in the conditional compilation blocks.
Phase 3 covers wlan_hdd_hostapd.c, with other *.c files to follow in
future changes.

Change-Id: I740344af895edadbc30cb8a3d8aea2909d9661cb
CRs-Fixed: 1066509
2016-09-15 18:40:03 -07:00
Dustin Brown
6ba30a1309 qcacld-3.0: Cleanup MBSSID compilation flag (phase 2)
The WLAN_FEATURE_MBSSID conditional compilation flag is no longer
needed since MBSSID is a required feature. Remove this flag and
any alternate code referenced in the conditional compilation blocks.
Phase 2 covers wlan_hdd_cfg80211.c, with other *.c files to follow
in future changes.

Change-Id: Id7171529eaeefe652085bd1ed6377e3cde050694
CRs-Fixed: 1066411
2016-09-15 18:40:01 -07:00
Dustin Brown
0a1da14441 qcacld-3.0: Cleanup MBSSID compilation flag (phase 1)
The WLAN_FEATURE_MBSSID conditional compilation flag is no longer
needed since MBSSID is a required feature. Remove this flag and
any alternate code referenced in the conditional compilation blocks.
Phase 1 covers wlan_hdd_p2p.c, with other *.c files to follow in
future changes.

Change-Id: I7c68b0af7181cdabc324d94464ae6ceb8edd66df
CRs-Fixed: 1065945
2016-09-15 18:39:59 -07:00
qcabuildsw
d7a19422e1 Release 5.1.0.26V
Release 5.1.0.26V

Change-Id: I71c9dae5f5861419b22995a2d958d5dae3c5b84a
CRs-Fixed: 688141
2016-09-15 17:47:52 -07:00
Varun Reddy Yeturu
3b21c7e93d qcacld-3.0: Fix possible NULL pointer dereference for sta_ds
Fix the possible null pointer dereference for sta_ds

Change-Id: I547f4d5e0a3603c2408b835705c617befc1107c5
CRs-Fixed: 1065301
2016-09-15 17:47:52 -07:00
Varun Reddy Yeturu
5a18365aae qcacld-3.0: If mac_ctx is NULL, do not use it for logging purpose
1) Do not dereference mac_ctx for logging when mac_ctx itself is NULL
2) Use standard logging mechanism such as the QDF infrastructure for
logging purpose

Change-Id: Iedb4b5d20fd7aa85ff1b98e5fab4edb9de51f7b2
CRs-Fixed: 1065301
2016-09-15 17:47:50 -07:00
Varun Reddy Yeturu
c48ad6ed1f qcacld-3.0: Check WMA for NULL before dereferencing
Once WMA context is retrieved, check if it has NULL value
before dereferencing it

Change-Id: I9896204933deb0588bca51e006e1477d5ed6c03e
CRs-Fixed: 1065301
2016-09-15 17:47:48 -07:00
qcabuildsw
278831a3b2 Release 5.1.0.26U
Release 5.1.0.26U

Change-Id: I4a82a52bba87e13574bea2942b9fcb9e61583002
CRs-Fixed: 688141
2016-09-15 16:51:45 -07:00
Dustin Brown
1079f2771e qcacld-3.0: Cleanup HDD suspend/resume logging messages
Some HDD suspend/resume logging messages are vague or include redundant
status codes. Update these messages to reflect what actually happened and
remove redundant status codes.

Change-Id: I5c4a481a8fbbdebe88f2ecffffb1f2189922da4f
CRs-Fixed: 1062544
2016-09-15 16:51:44 -07:00
Rajeev Kumar
99805a7ac3 qcacld-3.0: Fix race condition between PM suspend and fw irq
PM suspend and FW interrupt handler is running at same time
which is leading to multiple race conditions and host is missing
FW wake up interrupt which is causing APPS not waking up reliably.

Define .suspend_noirq and .resume_noirq callbacks and make
sure there is no pending FW interrupt before allowing PM
suspend to complete. Kernel PM suspend framework gives guarantee
that suspend_noirq and device interrupt handler can't run
simultaneously. This helps WLAN driver to reliably detect FW
wake up interrupt during PM suspend and fail PM suspend gracefully
if FW has requested for initial wake up.

Change-Id: Ic82d7dd6b6b743dd3f55b036e012ad0c8bebd50d
CRs-Fixed: 1060748
2016-09-15 16:51:43 -07:00
Yuanyuan Liu
22896aa193 qcacld-3.0: Register suspend_noirq/resume_noirq to kernel
Register suspend_noirq/resume_noirq callbacks to kernel. It will
make sure no wake up is pending from FW and if initial wake up is
received then failing it should trigger resume.

Change-Id: Ie553dfc1401c2c6934961773bc98a24626a9cd34
CRs-Fixed: 1060669
2016-09-15 16:51:41 -07:00
Yuanyuan Liu
3508408d32 qcacld-3.0: Call ICNSS APIs for get/set channels and dfs
Call ICNSS API for get/set unsafe channels and dfs nol when bus
type is SNOC.

Change-Id: I82f4f32097f38c0b26b80b861a15fda9b04b24d9
CRs-Fixed: 1061220
2016-09-15 16:51:39 -07:00
qcabuildsw
3a89cf6c3f Release 5.1.0.26T
Release 5.1.0.26T

Change-Id: I9fdc9c16213298d25195deb3d7131d3af5921a31
CRs-Fixed: 688141
2016-09-15 15:42:15 -07:00
qcabuildsw
448b827964 Release 5.1.0.26T
Release 5.1.0.26T

Change-Id: I0bcddfc115f4dd648151acdba1e31b969a8e6da8
CRs-Fixed: 688141
2016-09-15 14:48:07 -07:00
Naveen Rawat
a82fd5caa6 qcacld-3.0: Fix double free of memory
Remove freeing of msg from helper function lim_delete_sta_util, since
caller of that will free the msg buffer at the end of function.

Change-Id: I2e0ee43dda9d5e30e86c4033eba934e4d7938887
CRs-Fixed: 1066025
2016-09-15 14:48:06 -07:00
Jeff Johnson
291af6a2aa qcacld-3.0: Remove obsolete RRM "max duration" configuration
Currently cfg.ini supports the following configuration items:
gRrmOperChanMax
gRrmNonOperChanMax

However these configuration items are no longer in use, so remove
them.

Change-Id: Ib6f1ea0b86d97132ebf58b09ad1699efc96e592f
CRs-Fixed: 1060775
2016-09-15 09:41:29 -07:00
Jeff Johnson
d404d03538 qcacld-3.0: Re-fix max dwell time for passive scan beacon report
Previously change "qcacld-3.0: Fix max dwell time for passive scan
beacon report" (Change-Id: Idc0b4f15f2b7464507aacfaefb99e1ba48ad1eca)
modified the default value of the "rm_capability" INI item, but it
also included other changes which incorrectly utilized the obsolete
gRrmOperChanMax & gRrmNonOperChanMax INI items.  Since those INI items
are going to be removed from the code, the original implementation of
"qcacld-3.0: Fix max dwell time for passive scan beacon report" was
reverted.  To correctly solve the original problem, bring forward the
change to update CFG_RM_CAPABILITY_DEFAULT.

Change-Id: I7a473a5babf7a7b32a633ea1fe6373574457dcb3
CRs-Fixed: 1060775
2016-09-15 09:41:29 -07:00
Jeff Johnson
1c17173df3 Revert "qcacld-3.0: Fix max dwell time for passive scan beacon report"
This reverts Change-Id Idc0b4f15f2b7464507aacfaefb99e1ba48ad1eca.

"qcacld-3.0: Fix max dwell time for passive scan beacon report"
introduced a change to allow some of the RRM parameters to be
controlled by the existing gRrmOperChanMax & gRrmNonOperChanMax INI
items.  However those INI items are obsolete, having been replaced
with rm_capability.  So revert the change, and a subsequent change
will update the default value of rm_capability to correctly solve the
original issue.

Change-Id: Ie67f9f95ea6832a5aec706a8ec0a42ee49b4844c
CRs-Fixed: 1060775
2016-09-15 09:41:29 -07:00
Jeff Johnson
9c9be7126c qcacld-3.0: Converge gDataInactivityTimeout default values
There is a desire to remove unnecessary items from the default version
of WCNSS_qcom_cfg.ini that is shipped to customers. Currently the
default WCNSS_qcom_cfg.ini contains the following entry:
    gDataInactivityTimeout=200

The associated default value within the driver is:
    #define CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT (20)

These are obviously divergent and should be converged.

Note that this flag is used to change the value of the MAC CFG item
WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, and this currently has the
following default value:
    #define WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT_STADEF 20

Since all recent testing has used the default WCNSS_qcom_cfg.ini,
converge on the value defined there, 200, in all locations.

Change-Id: I7895911708d5d17f73971254865da2cc177a3c5a
CRs-Fixed: 1063037
2016-09-15 09:41:29 -07:00
Jeff Johnson
5187facc9d qcacld-3.0: Converge ImplicitQosIsEnabled default values
There is a desire to remove unnecessary items from the default version
of WCNSS_qcom_cfg.ini that is shipped to customers. Currently the
default WCNSS_qcom_cfg.ini contains the following entry:
    ImplicitQosIsEnabled=0

The associated default value within the driver is:
    #define CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT (1)

These are obviously divergent and should be converged.

Note that this flag was added in a prior generation of the driver
during WMM-AC certification testing since some test cases would fail
when Implicit QoS was enabled.  It is expected that all customers are
disabling this feature, and hence this feature should be disabled by
default within the driver itself.

Change-Id: If611b2b491b81b46c3254146ebd734dc244ffde5
CRs-Fixed: 1062978
2016-09-15 09:41:29 -07:00
Jeff Johnson
9e6ff21295 qcacld-3.0: Converge Intf*MacAddress default values
There is a desire to remove unnecessary items from the default version
of WCNSS_qcom_cfg.ini that is shipped to customers. Currently the
default WCNSS_qcom_cfg.ini contains the following entries:
	Intf0MacAddress=000AF58989FF
	Intf1MacAddress=000AF58989FE
	Intf2MacAddress=000AF58989FD
	Intf3MacAddress=000AF58989FC

The associated default values within the driver are:
	#define CFG_INTF0_MAC_ADDR_DEFAULT "000AF5898980"
	#define CFG_INTF1_MAC_ADDR_DEFAULT "000AF5898981"
	#define CFG_INTF2_MAC_ADDR_DEFAULT "000AF5898982"
	#define CFG_INTF3_MAC_ADDR_DEFAULT "000AF5898983"

These are obviously divergent and should be converged.

Elsewhere in the driver, in hdd_update_tgt_cfg(), is logic to
auto-generate MAC addresses if no addresses have been configured.
This logic currently checking:
	static struct qdf_mac_addr default_mac_addr = {
		{0x00, 0x0A, 0xF5, 0x89, 0x89, 0xFF}
	};

Since this logic is aligned with the values present in the default
version of WCNSS_qcom_cfg.ini, update the CFG_INTF*_MAC_ADDR_DEFAULT
definitions to match.

Change-Id: Ic34bc67cffad44b4d61cdfeb06776d0e3a63889f
CRs-Fixed: 1062967
2016-09-15 09:41:29 -07:00
Jeff Johnson
65e7a00d04 qcacld-3.0: Remove obsolete "isAndroidPsEn" configuration
Currently cfg.ini supports an "isAndroidPsEn" configuration item.
However this item is no longer in use, so remove the obsolete support
for this item.

Change-Id: I632513b5e6365a658bb02e0a47a40de94b04856c
CRs-Fixed: 1060747
2016-09-15 09:41:29 -07:00
Jeff Johnson
7f24a4a64b qcacld-3.0: Remove "Beacon Early Termination" configuration
Currently cfg.ini supports the following configuration items:
beaconEarlyTerminationWakeInterval
enableBeaconEarlyTermination

However neither of these is actually used by the driver, so remove the
obsolete support for these configuration items.

Change-Id: I41caec6697c0ff37efcf7db5dd7ab27ff2cdee95
CRs-Fixed: 1060657
2016-09-15 09:41:29 -07:00
Jeff Johnson
285b12e959 qcacld-3.0: Remove obsolete "flex connect" configuration
Currently cfg.ini supports a "gFlexConnectPowerFactor"
configuration item, and this is used to override the
WNI_CFG_FLEX_CONNECT_POWER_FACTOR entry in the MAC CFG database.
However this MAC CFG database entry is no longer in use, so remove
the obsolete support for this configuration item.

Change-Id: I660a18a2663ca7ce29ca2c8bacf4a869de684ffb
CRs-Fixed: 1060643
2016-09-15 09:41:29 -07:00
Jeff Johnson
df7f9e9c53 qcacld-3.0: Remove obsolete "AGC Listen mode" configuration
Currently cfg.ini supports a "gEnablePhyAgcListenMode"
configuration item, and this is used to override the
WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE entry in the MAC CFG
database. However this MAC CFG database entry is no longer in
use, so remove the obsolete support for this configuration item.

Change-Id: I24a0dcf3d834ec794d88d16ca092ee25084183ce
CRs-Fixed: 1060636
2016-09-15 09:41:29 -07:00
Jeff Johnson
9306c088f0 qcacld-3.0: Remove obsolete "num rx antenna" configuration
Currently cfg.ini supports a "gNumRxAnt" configuration item, and this
is used to override the WNI_CFG_CURRENT_RX_ANTENNA entry in the MAC
CFG database.  However this MAC CFG database entry is no longer in
use, so remove the obsolete support for this configuration item.

Change-Id: I8a8f7ca382262edee187013425fd41598783342c
CRs-Fixed: 1060626
2016-09-15 09:41:29 -07:00
Jeff Johnson
3507908a02 qcacld-3.0: Remove obsolete "TX Power Control" configuration
Currently cfg.ini supports a "gEnableAutomaticTxPowerControl"
configuration item, and this is used to override the
WNI_CFG_TX_PWR_CTRL_ENABLE entry in the MAC CFG database.  However
this MAC CFG database entry is no longer in use, so remove the
obsolete support for this configuration item.

Change-Id: I8ca653bc75c18692519ff1d88f52441e7f0375f5
CRs-Fixed: 1060597
2016-09-15 09:41:29 -07:00
Jeff Johnson
8db2d53dec qcacld-3.0: Remove obsolete "enable close loop" configuration
Currently cfg.ini supports a "gEnableCloseLoop" configuration item,
and this is used to override the WNI_CFG_ENABLE_CLOSE_LOOP entry in
the MAC CFG database.  However this MAC CFG database entry is no
longer in use, so remove the obsolete support for this configuration
item.

Change-Id: Ic8b7f4f522e910476273dd428bbb471a19cbe79f
CRs-Fixed: 1060579
2016-09-15 09:41:29 -07:00
qcabuildsw
c9fbe2950e Release 5.1.0.26S
Release 5.1.0.26S

Change-Id: Ie63eb9da551a0787e5770ae343d8636283fde891
CRs-Fixed: 688141
2016-09-15 01:39:46 -07:00
qcabuildsw
df85ff5ebe Release 5.1.0.26R
Release 5.1.0.26R

Change-Id: I47ba5562b1a121dc31c5bc2dbf97c2b0adb5986b
CRs-Fixed: 688141
2016-09-14 15:53:04 -07:00
Rajeev Kumar
0fad1762fe qcacld-3.0: Do not log current->comm from hw/sw irq context
Interrupt handlers do not have valid process context and hence
current pointer is not valid for software/hardware interrupt
handlers. In WLAN log to user space API current process name is
logged using current->comm but hardware/software interrupts do not
have corresponding current pointer because they use current pointer
of interrupted process. Make changes to not to log process name when
log message is generated from hardware/software interrupt handlers.

Change-Id: I42420c501f9e7161112c5210909f83755ba4813e
CRs-Fixed: 1065898
2016-09-14 15:53:03 -07:00
qcabuildsw
d198e81754 Release 5.1.0.26Q
Release 5.1.0.26Q

Change-Id: I417059f38c02ac499deff2e3ba189da817e81913
CRs-Fixed: 688141
2016-09-13 12:54:46 -07:00
Arun Khandavalli
97f2838162 qcacld-3.0: set/clear interface opened flag for softap adapter
In softap case DEVICE_IFACE_OPENED flag is not set/cleared when the
interface is opened/stopped(hdd_hostapd_open/hdd_hostapd_stop).
During the STA+SAP concurrency when the STA is turned
off, during the interface down it check's if any interfaces are opened,
if no interfaces are opened it starts the timer to close the modules.
Since the interface opened flag is not set for softap case the timer
is getting kickstarted and resulting in closing the modules even when
the SOFTAP is running.

To migitate the issue, set/clear the DEVICE_IFACE_OPENED in the adapter
even for SOFTAP.

Change-Id: I9e3f1391d92473d8a189d9fee6523ec3a7554c96
CRs-Fixed: 1065130
2016-09-13 12:54:45 -07:00
qcabuildsw
cee9c06def Release 5.1.0.26P
Release 5.1.0.26P

Change-Id: Ieb3fce4f5e1884d1fe5e3f4781fdd42af6e89fc1
CRs-Fixed: 688141
2016-09-12 21:46:04 -07:00
Dustin Brown
d03bf59c85 qcacld-3.0: Enable multicast address list feature by default
Change the multicast address list feature default from 0 to 1.

Change-Id: I31fcfc3cca5658885d6a3634c98e21934d3867f9
CRs-Fixed: 1064768
2016-09-12 21:46:04 -07:00
Rajeev Kumar
6f16cee318 qcacld-3.0: Clean up packet parsing log messages in WMA
When FW wakes up APPS processor from power collapse it sends 120
bytes of payload piggy backed to wake up event handler. There are
some types of frames for which packet stats is not maintained.
Clean up log messages in WMA such that error message is not logged
to console.

Change-Id: I31d032874e5c9b8773a4e8d5067923c1dd20e23a
CRs-Fixed: 1065309
2016-09-12 21:46:01 -07:00
Naveen Rawat
02e1266b70 qcacld-3.0: Send Vendor Specific TPC Report IE in probe request
Send vendor specific TPC report IE as part of scan request IE to firmware.
This IE will then be included in probe request sent by firmware for scan.

Change-Id: I16e067de3980faa773d5027306795ca8e2a3c247
CRs-Fixed: 1062155
2016-09-12 21:46:00 -07:00
Dustin Brown
f660fb4c10 qcacld-3.0: Reset PS timeout when PS requested from user space
When receiving a power save request from user space, disable any active
power save timer and start a new one using the timeout supplied from
user space.

Change-Id: I88299776a973118e1bdba8cfd5fa4c8018f0758a
CRs-Fixed: 1065234
2016-09-12 21:45:58 -07:00
Dustin Brown
d8279d2d24 qcacld-3.0: Enable/Disable NS offload in FW as per user space request
When coniguring NS Offload via Cfg80211, configure firmware NS Offload
to match via HDD.

Change-Id: I8d95be773ff29512ebb72a8eb5e9dddbc9e675dd
CRs-Fixed: 1064168
2016-09-12 21:45:56 -07:00
Rajeev Kumar Sirasanagandla
62b6303900 qcacld-3.0: Add log for BPF set instructions
qcacld-2.0 to qcacld-3.0 propagation

In the current implementation, there is no log of instructions
set by framework.
To resolve this and understand the packet filters,
log of set instructions is added.

Change-Id: Ibe3c23de374261741f78a76c05c97b2342e9064e
CRs-Fixed: 1013062
2016-09-12 21:45:54 -07:00
qcabuildsw
6b3b1aea49 Release 5.1.0.26O
Release 5.1.0.26O

Change-Id: Iedf96ff5224311a2c9f740d86bb6436affb69926
CRs-Fixed: 688141
2016-09-12 19:04:19 -07:00
Naveen Rawat
17dccbee18 qcacld-3.0: Change NDP WOW event handling to confirm with existing code
Currently in wma_wow_wakeup_host_event, NDP WOW handler code is doing manual
pointer arthematics followed conversion to event tlv. This is duplicate effort
as necessary wmi event struct is already available. Remove this and directly
use wmi event struct.

Change-Id: I90da473d773781d007f4932d6ffbec389d5a2766
CRs-Fixed: 1058503
2016-09-12 19:03:33 -07:00
Naveen Rawat
19da3d155c qcacld-3.0: Change NDP_SERVICE_INSTANCE_ID from 16 bits to 32 bits
This is qcacld-2.0 to qcacld-3.0 propagation.

Change NDP_SERVICE_INSTANCE_ID from 16 bits to 32 bits

Change-Id: I4fab1af6d9b8e34396bb3679f112c7f29bbe9f93
CRs-Fixed: 962367
2016-09-12 19:03:23 -07:00
Manjunathappa Prakash
779e48688b qcacld-3.0: Fix build error due to missing cds_utils.h
Fix below build error:
qcacld-3.0/core/hdd/src/wlan_hdd_softap_tx_rx.c:605:2: error: implicit
declaration of function 'cds_host_diag_log_work'
[-Werror=implicit-function-declaration]
  cds_host_diag_log_work(&pHddCtx->rx_wake_lock,
    ^
    cc1: all warnings being treated as errors

Change-Id: Ia1fe71abd783e24e91ae197db4a6b8fcc0b28ec7
CRs-Fixed: 1065872
2016-09-12 18:05:26 -07:00
Manjunathappa Prakash
169361e309 qcacld-3.0: Fix multi queue NAPI build errors
Fix build errors on the platform where multi queue NAPI is
not supported.

Change-Id: Id9916cff11f9337f279f9aed6dfe35e7a6beb1ed
CRs-Fixed: 1065872
2016-09-12 18:05:23 -07:00
qcabuildsw
6dbbe0883c Release 5.1.0.26N
Release 5.1.0.26N

Change-Id: Ifbfd383304acc6140b2918d15b5d0e0c89c3e9b2
CRs-Fixed: 688141
2016-09-12 12:16:29 -07:00
Dustin Brown
2444ee6840 qcacld-3.0: Disable NS offload when max addresses is reached
When NS offloading is enabled, and we reach the maximum number of supported
addresses, disable NS offload so Apps can handle it.

Change-Id: I8312d5e8091cfbdc1f6e3e1e1093ae1dca0c096c
CRs-Fixed: 1063737
2016-09-12 12:16:27 -07:00
qcabuildsw
9d1df66654 Release 5.1.0.26M
Release 5.1.0.26M

Change-Id: I779976f45b671b33cc4663d8470515d39aa688d0
CRs-Fixed: 688141
2016-09-12 11:12:40 -07:00
Anurag Chouhan
bf5e0e2457 qcacld-3.0: Add fw_test command
Add an Iwpriv command to update fw test params.

Change-Id: I7017fedbe8eddfa6b0f93f1d6129b12f22a462bb
CRs-Fixed: 1045265
2016-09-12 12:54:09 +05:30
qcabuildsw
5d2c9db1df Release 5.1.0.26L
Release 5.1.0.26L

Change-Id: I4e1660efda00b9255b382ddba70b82cfd173ff54
CRs-Fixed: 688141
(cherry picked from commit 397a4fadd42064601c2b6c7ca9363cf84f9631ca)
2016-09-11 17:55:59 -07:00
Arif Hussain
9dc47d3beb qcacld-3.0: SAP DFS: Fill new channel width in new_ch_params
In sap_random_channel_sel function, new channel and channel width will
be calculated based on the available channels. New channel width is
populated to only new_chanWidth and this new channel width value will be
assigned to new_ch_params in wlansap_set_channel_change_with_csa.
This channel width from new_ch_params will be used as new channel width
on restarting SAP on Radar detection.

wlansap_set_channel_change_with_csa will get called only when radar is
detected when SAP started beaconing (after CAC wait).

If radar is detected during CAC_WAIT state, new_ch_params will not be
having new calculated channel width, it will be having zero, So during
this scenario SAP will be restarted with 20MHz bandwidth.

To fix this, populate new channel width to new_ch_params in
sap_random_channel_sel along with new_chanWidth.

Change-Id: If07f875dda3a4f6d29480c84b784ca7995c19c7f
CRs-Fixed: 1063038
(cherry picked from commit 714eb0a7fae9c4e50b1c52fa27001705991ab6eb)
2016-09-11 17:55:56 -07:00
qcabuildsw
9e93a61862 Release 5.1.0.26K
Release 5.1.0.26K

Change-Id: I0a31da9177ad6e978d6e72efba37153431c18a1e
CRs-Fixed: 688141
(cherry picked from commit 36008e6d9865769c8815dffeea10b18258c3c9b5)
2016-09-11 17:53:24 -07:00
Sandeep Puligilla
7e3e3c5fbb qcacld-3.0: Serialize peer create and delete
Peer create is called before peer delete which
triggered assert at firmware.

Remove the duplicate peer entry before creating
a new entry for the same peer by serializing
the messages.

Change-Id: Ibf044df5271e9cd2fc3e869bb28d101d3ea9ad43
CRs-Fixed: 1052279
(cherry picked from commit fe914b42b15af00236e3db8e0d6c7d408c5bc4be)
2016-09-11 17:52:47 -07:00
Selvaraj, Sridhar
a7fc763e16 qcacld-3.0: Update Assoc IEs to firmware after STA connects
As part of MBO(Multiband Operations), the Assoc IE's including
MBO IE need to be sent to FW as part of Roam Scan Offload command
so that these IE's can be used later in firmware initiated roams

Change-Id: Ia873c65a7813ae63d8e53d7445095990b0c2fed7
CRs-Fixed: 1039969
(cherry picked from commit 0af3520421400b65002604e0a3a9c7c714cc1e21)
2016-09-11 17:37:17 -07:00
Selvaraj, Sridhar
fd889b56fd qcacld-3.0: Avoid race between user triggered disconnect and OTA disconnect
qcacld-2.0 to qcacld-3.0 propagation

Due to race between user triggered disconnect and OTA disconnect,
On receiving OTA disconnect PE sends DISCONNECT_IND to SME and
waits for conformation from SME. By the time if SME already received
disconnect from user it will give PE DEAUTH_REQ instead of DIASSOC_CNF
messgae. Upon receiving this PE will do the clean up and will send
DEAUTH_RSP message. SME will also process DISASSOC_IND and will send
eSmeCommandWmStatusChange. But this will be in pending queue as user
triggered deauth is in progress as a SME active command. If this is processed
after user initiated disconnect command, HDD will get two disconnects which
cause mess up of eConnectionState_Disconnecting/eConnectionState_NotConnected
states in hdd disconnect handler.

Fix is to remove pending eSmeCommandWmStatusChange command after
DEAUTH_RSP from SME.

Git-commit: 7f0986129d00270d1b7bba3d671bba79ba323933
Change-Id: I004834785491ab7cf3e90371dfd1910c25d0bbef
CRs-Fixed: 1003374
(cherry picked from commit 2b4f56c8dcbc292391d705993c7cd874c3dea008)
2016-09-11 17:36:34 -07:00
qcabuildsw
a2c9394237 Release 5.1.0.26J
Release 5.1.0.26J

Change-Id: I1b94db3771c91e56767e97aa0a92f2e7747f2e3a
CRs-Fixed: 688141
(cherry picked from commit f55e364553887474f084902b5b657a40b31c75da)
(cherry picked from commit d5310cc84048776f7b153449370ebe6cb5ef8492)
2016-09-11 17:12:29 -07:00
Nitesh Shah
4e2d5eb3e7 qcacld-3.0: Allow Link speed only for P2P GO/Client
Link speed is returning incorrect value.

Fix is to allow link speed only for P2P GO/Client. Return error
for other device modes, as link speed feature in FW is only
supported for P2P interfaces as it was implemented to support
Miracast.

Change-Id: I5747d9ebbcbac3ae1ebf69f261d721a96e22d53c
CRs-Fixed: 1063541
(cherry picked from commit 9327fc30217078d165f7be85a3fb277e9d09e669)
(cherry picked from commit a346e371732b5fc24f171a3bde4666e7950f3c01)
2016-09-11 17:12:28 -07:00
Nalla Kartheek
4fc5715f8c qcacld-3.0: Set fProbeRsp flag if PNO ind is from Probe response
qcacld-2.0 to qcacld-3.0 propagation

Kernel updates RSN IEs in BSS table only if it receives the Probe
response. Hence set fProbeRsp flag in BssDescriptor if PNO found
indication is due to probe response.

CRs-Fixed: 907635
Change-Id: I2bfee96c5a2abc6b0730c11e0c694ede81a69a21
(cherry picked from commit abb1af07e98ca6581186538a04a735b33e0ca66f)
(cherry picked from commit 5985919d63cb0e58920fc0022f0807ae36fa19fa)
2016-09-11 17:12:27 -07:00
Nitesh Shah
6259b1cb1c qcacld-3.0: Modify timer and threshold ini parameters in TDLS
Propagation from qcacld-2.0 to qcacld-3.0.

While initiating TDLS connection, overflow occurs when the
minimum time for TDLS stats is less than 1000 ms.
To avoid the overflow, the default time is kept as 2000 ms
and minimum time as 1000 ms. To improve the TDLS discovery,
packet threshold is changed to 40 packets.

Change-Id: Ibbb422c739b5927c5f2d788712f376a1cfa42930
CRs-Fixed: 1020247
(cherry picked from commit f9fe1c7d3a55caf8cf263f280508a91f0fe06a96)
(cherry picked from commit 388cc4379009f9e7a09fbfec6a846bcc80452d43)
2016-09-11 17:12:24 -07:00
Nitesh Shah
87335a5617 qcacld-3.0: Set channel BW as 20 MHz for IBSS in 2.4 GHz
Propagation from qcacld-2.0 to qcacld-3.0.

The device supports only 20 MHz while operating in IBSS
mode in 2.4 GHz band. There is no support in firmware to
do OBSS scan in STA/IBSS mode. Thus, the device will not
start IBSS when the configured bandwidth is other than
20 MHz in 2.4 GHz band.

Update channel width as 20 MHz if the device is in IBSS
mode and is operating in 2.4 GHz.

Change-Id: I01fa0df44f8b6f9ada835c0fc80a46eb0da6d6d7
CRs-Fixed: 1009922
(cherry picked from commit 5167d6c9b4271f08d3e819a0e9a7da1142630094)
(cherry picked from commit 5baf73480e91e68a2b5dfbe2a6981003d064fc9c)
2016-09-11 17:12:24 -07:00
Kondabattini, Ganesh
96ac37b226 qcacld-3.0: maintain the backward compatibility for svc events
qcacld-2.0 to qcacld-3.0 propagation

Add radio index at the end of wlan svc msg in TLV format inorder
to maintain the backward compatibility with user space application
like wlan_services and cnss_daemon.

Change-Id: If578d66eada17784eef7daafa7351df95fc74f5a
CRs-Fixed: 1019664
(cherry picked from commit 6a1d4b9d33b10ed50990efc825e530e020661153)
(cherry picked from commit 53627e3d41d55a9d71889443daa2ab769227c170)
2016-09-11 17:12:23 -07:00
Padma, Santhosh Kumar
724f63df4b qcacld-3.0: Reduce roaming delay by moving tdls cb after enabling queues
qcacld-2.0 to qcacld-3.0 propagation

Function wlan_hdd_tdls_connection_callback takes few milliseconds
to complete its functionality which can effect roaming delay.
Move this functionality after enabling queues to reduce roaming delay.

Change-Id: I78d7b4deadb6cccdfd81f8431b6dd7c013e05340
CRs-Fixed: 978673
(cherry picked from commit a86f1940b048ef49dae99c903c0dee3400444068)
(cherry picked from commit 827dea48dfc7c6d25e77ade6383645f866991e5e)
2016-09-11 17:12:21 -07:00
Padma, Santhosh Kumar
3fdc7a8729 qcacld-3.0: Initialize session id for auth retry timer
qcacld-2.0 to qcacld-3.0 propagation

Currently session id is not initialized for auth retry timer
during roaming which can result in error in lim_deactivate_and_change_timer
during preauth. Fix this by initializing session id for auth retry timer.

Change-Id: Ia7093802c9240c967378de54695a258d80c395de
CRs-Fixed: 1043384
(cherry picked from commit 2095a2a7167cb8ca5fb23aa339639f360709edbb)
(cherry picked from commit 9232eaf4e118445b187252c8b8c80249da16c624)
2016-09-11 17:12:20 -07:00
Deepthi Gowri
d5a58fe264 qcacld-3.0: Register management frames during wlan re init
qcacld-2.0 to qcacld-3.0 propagation

It could be possible that after SSR, pMac context is lost,
due to which the management frame callback will not be invoked
and none of the management frames will be processed,
resulting in scan and connection issues.

To address this, Register management frame callback during wlan re init.

CRs-Fixed: 962187
Change-Id: I5429da9dbc33c7e2044d5a4daa1c8d3d7af241ee
(cherry picked from commit aa3229ce46b3b8922d6dbad512aeb038df15530a)
(cherry picked from commit 48a63b11432f5879cc5abaf2cff78977253d5d41)
2016-09-11 17:12:19 -07:00
Deepthi Gowri
1f8352170f qcacld-3.0: Fix for P2P GO negotiation failure
qcacld-2.0 to qcacld-3.0 propagation

The wait time in go negotiation response is set to 100msec by
the wpa_supplicant. Due to which, there could be a possibility
for the DUT to miss go negotaition confirmation frame if the
ROC times out, resulting in connection failure.

Also the wait time for GO negotiation confirmation, invitation
response and provisional discovery response frames are set to 50msec.

To address this, increase the wait times for these response frames.

CRs-Fixed: 1050955
Change-Id: I1fa8a0ae669293ab27c5b4f43f6f33465ff3f2c0
(cherry picked from commit 9481683888c272bacddd2d7983b909157a576a97)
(cherry picked from commit a5b48ffdb93f686e2df0291143549e657a3eb285)
2016-09-11 17:12:19 -07:00
Gowri, Deepthi
07ac993876 qcacld-3.0: Convert pr_info logs to qdf_trace logs
qcacld-2.0 to qcacld-3.0 propagation

Convert the pr_info logs to qdf_trace logs with error log level,
so that the logs are displayed both in kmsg as well as in logger
app logs.

CRs-Fixed: 956590
Change-Id: Ib6ed5744cf38924a6b1dc20e3291639554c42c6b
(cherry picked from commit e7d8f2a4214e32aa30152aff806c0caa15c78787)
(cherry picked from commit ecb280f37bfea24afd6996480ca70ee0ef15de94)
2016-09-11 17:12:18 -07:00
Deepthi Gowri
084c24da74 qcacld-3.0: Add log to print channel number and frequency
qcacld-2.0 to qcacld-3.0 propagation

Add error log to print channel number and frequency in
wlan_hdd_cfg80211_inform_bss_frame() if it fails to retrieve the
channel.

CRs-Fixed: 1010559
Change-Id: I8fe77db17ffa40ea07206a3701c02f02564ea8fd
(cherry picked from commit c56aea24166cbdcbfe4acc44fc3cb8464ddaabca)
(cherry picked from commit 9cd27801a80b2b71959289efd66f99e4ac32e1fc)
2016-09-11 17:12:16 -07:00
Deepthi Gowri
993ec18d71 qcacld-3.0: Fix for getTdlspeers in case of explicit trigger
qcacld-2.0 to qcacld-3.0 propagation

Currently driver is setting TDLS supported capability only in case
of tdls peer discovery response. In case of explicit trigger discovery
is optional, so it could be possible that the false capabiltiy is sent
as tdls not supported though it supports when link is enabled using an
external trigger.

To address this, set the tdls supported capability during the tdls setup
confirmation.

Change-Id: I13041f2b03e749617e58a74d82bdf77d9e6886ed
CRs-Fixed: 988686
(cherry picked from commit fab4eefd36b1b452dc96149beab1536414571e06)
(cherry picked from commit db27ba3e3d92af5d3d361f9ad59c4cd9213b31cd)
2016-09-11 17:12:15 -07:00
Deepthi Gowri
9f2fc786f7 qcacld-3.0: Do not make a PMF connection, if supplicant sets it as optional
qcacld-2.0 to qcacld-3.0 propagation

In earlier android builds PMF was not enabled by default in the supplicant
unlike the latest builds. So even if PMF is set as optional, driver was
mandating it. So if we try to roam to an AP which is not PMF capabale
driver would simply drop the connection.

To address this, allow non PMF connection if PMF is set as optional by the
supplicant and the AP is not capable.

CRs-Fixed: 1018482
Change-Id: Ideecb861dcc362f94a73b47d1a4766d621a38214
(cherry picked from commit ec4d9feff5461a575b2988b38428b89cf6337584)
(cherry picked from commit 54b657e08ac628616b8cf6cbddfb9204ecf28ce5)
2016-09-11 17:12:14 -07:00
Gowri, Deepthi
62da33e948 qcacld-3.0: Fix P2P GO Negotiation failure issue
qcacld-2.0 to qcacld-3.0 propagation

Sometimes it is possible for the host to receive the ack for
go negotiation request after the go negotiation confirmation
is sent. So supplicant assumes go negotiation confirmation is
success though it is not and results in connection failure.

To address this, drop the pending ack for the go negotiation
request. so that the supplicant will wait for the ack of the
negotiation confirmation.

CRs-Fixed: 1032185
Change-Id: I54f305319e23b1ffcbd54cc6e7dcc74d39a2e511
(cherry picked from commit 83df79da05419397ef85b77acef353a9ffb05ced)
(cherry picked from commit f13a15829f20a644e5cbaad4a1783a33d0f78014)
2016-09-11 17:12:13 -07:00
Deepthi Gowri
48b8933567 qcacld-3.0: Skip DRSC channels during SAP ACS
qcacld-2.0 to qcacld-3.0 propagation

We do not support SAP on DSRC channels, so skip the DRSC channels
during sap channel initialization.

CRs-Fixed: 1050454
Change-Id: If5544027bca7bc0a578978dfe91adc37e897e992
(cherry picked from commit 0005bfa2adcbe4bc06b96523bb387a7df902a6c7)
(cherry picked from commit b8f62655ae5a86b745ca099fa371914a702abf59)
2016-09-11 17:12:11 -07:00
Selvaraj, Sridhar
4577a9b955 qcacld-3.0: Send p2p ack indication directly to HDD from PE
qcacld-2.0 to qcacld-3.0 propagation

During P2P functionality, Host will send GO NEG REQ and
receives ACK completion from firmware which will be queued
to indicate HDD. Meanwhile if host receives GO-NEG RESP it
will be sent directly to HDD via function callback. In HDD as
we got  GO NEG RESP before ACK completion for GO-NEG REQ, HDD
will generate pkt completion for GO NEG Request.
Now GO NEG CONFORMATION frame will be sent and driver will be
expecting completion for this. The GO NEG REQ ACK completion
which got buffered in PE will be delivered to Supplicant and
Supplicant assumes that this is the ACK for GO NEG CONF frame.
This causes early termination of remain on channel due to which
firmware may drop the GO NEG CONF frame and may not retry as ROC
is terminated.
Fix this by making ACK Completion indication to HDD via function
callback.

Git-commit: 32ddf4196f423b8eaea7ec6c0816e2961aa7fc45
Change-Id: I0dd3acb236b270839649d2becfdc007e7aae9fdd
CRs-Fixed: 1012547
(cherry picked from commit a3996d421de7f55d5a6f7da19d7ff4b568ce7c50)
(cherry picked from commit 42405db3bd3f4b10800cde8cdcd14f521461a5a7)
2016-09-11 17:12:10 -07:00