Commit Graph

1690 Commits

Author SHA1 Message Date
Selvaraj, Sridhar
94ece202c5 qcacld-3.0: Fix Ext Cap IE mismatch in Probe/Assoc Response frames
qcacld-2.0 to qcacld-3.0 propagation

In SAP mode, while sending Probe response template to HAL from driver,
ext cap IE should be merged only if it is present or received from hostapd.
In function limSendProbeRspTemplateToHal, extcap_present bool is wrongly
initialized to true which leads to updation of the extended Cap IE with
junk values in Probe response even for the cases where driver is not
supposed to update it, i.e. cases where the ext cap IE is not present or
not received from hostapd

Git-commit: a7256f3483c0a26c8715f2ae6166289de6da6b1e
Change-Id: If82fbba4c20b5e96dbe1b11c97ab557ded488f3e
CRs-Fixed: 995545
2016-09-02 17:22:35 -07:00
Selvaraj, Sridhar
4d6c29599d qcacld-3.0: Fix max dwell time for passive scan beacon report
qcacld-2.0 to qcacld-3.0 propagation

Currently STA advertising the max. measurement duration of RM
capability as half the beacon interval. When STA receives beacon
report request frame, it is not using measurement duration
indicated if it is above the advertised max. measurement duration
However, firmware expects a minimum of one beacon interval to
find the AP.

Modify the max. measurement capability of RRM as one beacon interval.
Also engineered the code to make use of the INI parameters for
adjusting the max measurement duration.

Git-commit: 0a18af7723c58987944780bad0ff7f35605413ac
Change-Id: Idc0b4f15f2b7464507aacfaefb99e1ba48ad1eca
CRs-Fixed: 1030590
2016-09-02 17:22:29 -07:00
Selvaraj, Sridhar
cd3cc70222 qcacld-3.0: Ensure that phy mode from ini is considered for wlan scan
qcacld-2.0 to qcacld-3.0 propagation

Regardless of phy mode in ini, 5Ghz band is configured to wiphy
which was leading to scan on 5ghz even though phy mode was set to
11b/g.

Fix will ensure to configure 5Ghz band if ini supports for 5ghz.

Git-commit: 7b6f426ea4cbe304bc4c99ceca6d2d620186084f
Change-Id: Ie7735b06ca5ae370077c962a645296ba054ac5d4
CRs-Fixed: 1018993
2016-09-02 17:22:24 -07:00
qcabuildsw
f248683aa5 Release 5.1.0.24T
Release 5.1.0.24T

Change-Id: I408f4315e87c4c3ff114158c3ff730c9004eb0aa
CRs-Fixed: 688141
2016-09-02 17:22:18 -07:00
Rajeev Kumar
4c42662c10 qcacld-3.0: Fail PM suspend if target has sent initial wake up
Host is not handling target initial wake up properly which is
leading to resume failure. Fail PM suspend request if target
has sent initial wake up message.

Change-Id: I7ac757dd7968f541935519da0689d7672f72d19b
CRs-Fixed: 1059543
2016-09-02 17:22:13 -07:00
qcabuildsw
4dc09db471 Release 5.1.0.24S
Release 5.1.0.24S

Change-Id: I7d59a0c61819b1b289a45e0607a7e1b10311ad6a
CRs-Fixed: 688141
2016-09-02 17:22:08 -07:00
Arun Khandavalli
a172c3e090 qcacld-3.0: Add check to validate the start/stop modules
With Dynamic mode changes there can be a new race-condition
a user-request comes during start/stop modules.

When any request from the North bound add check to see if we are
in any driver state transition and return failure to the upper layer
during the starting/stopping of the modules.

Change-Id: I8718bd2293b05a825a791775118d2379cf8f33d2
CRs-Fixed: 1058938
2016-09-02 17:22:01 -07:00
qcabuildsw
5e4efbec75 Release 5.1.0.24R
Release 5.1.0.24R

Change-Id: I6680351a99026106201e97161ae96503371b32af
CRs-Fixed: 688141
2016-09-02 17:21:56 -07:00
Jeff Johnson
5ae20e9e05 qcacld-3.0: Convert wlan_hdd_wmm.c to unified logging
Currently the HDD code uses a variety of logging APIs.  In
qcacld-3.0 HDD should converge on a unified set of logging APIs.
Update wlan_hdd_wmm.c to use the unified set of APIs.

Change-Id: I325c55caa269356e4780ab940aca20ec50e82e80
CRs-Fixed: 937691
2016-09-02 17:21:48 -07:00
Jeff Johnson
64943bdc77 qcacld-3.0: Replace hdd_log() in core/hdd/src/wlan_hdd_cfg80211.c
In qcacld-3.0 HDD has converged on a core set of service level logging
APIs.  However there are instances in wlan_hdd_cfg80211.c of the
hdd_log() helper API being called directly instead of using the
service level APIs.  Replace those instances.

Change-Id: I89d589a35b188c7be373ee0ec3dfd73bc88d6aa0
CRs-Fixed: 1058338
2016-09-02 17:21:43 -07:00
Jeff Johnson
b7082ae53d qcacld-3.0: Replace hdd_log() in core/hdd/src/wlan_hdd_main.c
In qcacld-3.0 HDD has converged on a core set of service level logging
APIs.  However there are instances in wlan_hdd_main.c of the hdd_log()
helper API being called directly instead of using the service level
APIs.  Replace those instances.

Change-Id: I36ccc64005a571d3d658211fea5711261bcff8f3
CRs-Fixed: 1058338
2016-09-02 17:21:38 -07:00
Jeff Johnson
e1c143e852 qcacld-3.0: Replace hdd_log() in core/hdd/src/wlan_hdd_tdls.c
In qcacld-3.0 HDD has converged on a core set of service level logging
APIs.  However there are instances in wlan_hdd_tdls.c of the hdd_log()
helper API being called directly instead of using the service level
APIs.  Replace those instances.

Change-Id: I02569a6d7f876d47232eea5a37312896d4e06617
CRs-Fixed: 1058338
2016-09-02 17:21:31 -07:00
Krishna Kumaar Natarajan
b7b214014a qcacld-3.0: Fix copyright and license text marking
Fix copyright and license text marking to match LF and ISC.

Change-Id: I3f71a356a1e71196bd8d1da2db039720df20535e
CRs-Fixed: 1060937
2016-09-01 12:09:39 -07:00
Selvaraj, Sridhar
11d4985572 qcacld-3.0: Fix mac address copy issue in active scan
Use QDF_MAC_ADDR_SIZE instead of VOS_MAC_ADDR_SIZE while copying
bssid given by supplicant for active scan.
Regression Change-Id: I97886b1dbd63fbca21fa410252df572f819df207

Change-Id: I55cf956dc6dca68790d2ff69ad5c3e5cacd0f6ae
CRs-Fixed: 1060356
2016-08-29 16:13:29 +05:30
qcabuildsw
4772157d74 Release 5.1.0.24Q
Release 5.1.0.24Q

Change-Id: I9a96e8df96d37e3a24a6c88722ef728e77c46d9f
CRs-Fixed: 688141
2016-08-27 18:07:36 -07:00
Prashanth Bhatta
f59165af88 qcacld-3.0: Send adapter status only for valid session
With the latest changes for dynamic mode change, adapter status to
user space sent even if session ID is invalid. Check to make sure
indication is sent only when session ID is valid.

Change-Id: I2df6aff0874f37ec934dd9071daf305d8289492c
CRs-fixed: 1058267
2016-08-27 16:17:43 -07:00
qcabuildsw
c95d249c69 Release 5.1.0.24P
Release 5.1.0.24P

Change-Id: If2f132a97f0fa37b50c442fc1f4782f5e8cbbf75
CRs-Fixed: 688141
2016-08-27 16:16:53 -07:00
Arun Khandavalli
f6246630ce qcacld-3.0: Allocate memory for cds config only once
During the driver load cds_cfg memory is allocated during the
hdd_Wlan_startup and cds_open. Since the memory allocated by the
cds_open overwrites the pointer of memory allocated by hdd_wlan_statup
during memory free only memory allocated by cds_open is freed resulting
in memory leakage.

To migitate this issue, allocate the memory for the cds config only once.

Change-Id: I01bf0e8110a2519a2e11da398be3c98f9ca4db8f
CRs-Fixed: 1055648
2016-08-27 16:16:07 -07:00
qcabuildsw
8e0216378a Release 5.1.0.24O
Release 5.1.0.24O

Change-Id: Ic53fb621c6478af190ed14c0597db9813739cc19
CRs-Fixed: 688141
2016-08-27 16:15:31 -07:00
Manishekar Chandrasekaran
dfdf2a8bcd qcacld-3.0: Start pre cac adapter after opening it
Start the pre cac adapter after opening the it.
Earlier, opening of adapter starts the adapter as
well. With the recent design changes, start
adapter needs to be explicitly issued after
opening the adapter.

Change-Id: I3cfa7f74bb121ab74fa18f2237069f41bf3fe736
CRs-Fixed: 1058745
2016-08-27 16:14:51 -07:00
qcabuildsw
e7b1a65408 Release 5.1.0.24N
Release 5.1.0.24N

Change-Id: I483941db2e46f80641f383546be491559a4b1586
CRs-Fixed: 688141
2016-08-27 16:14:12 -07:00
Rajeev Kumar
2e58d6e054 qcacld-3.0: Remove duplicate wake up reason logging
wma_wow_wakeup_host_event already logs wake up reason at
the begining of the function. Remove duplicate logging for
wake up reason.

Change-Id: I1b3a3099c395dcf050e0c1c42677686c2c4911ef
CRs-Fixed: 1059065
2016-08-27 16:13:28 -07:00
Rajeev Kumar
2c892fe7e9 qcacld-3.0: Do not try to free if wmi tlv is null after wake up
Trying to free a null WMI TLV struct leads to confusing error message.
Do not try to free WMI TLV struct if it was not allocated.

Change-Id: Ic9607179aa5b7dd517f3187716279d0c02199117
CRs-Fixed: 1059077
2016-08-27 16:12:47 -07:00
Rajeev Kumar
29eb82ad1c qcacld-3.0: Avoid TLV check for non WMI wake up reasons
APPS wake can happen:
1) For a piggy backed WMI event ID for example SCAN, ROAM etc
2) OR for a wake up reason which does not have a piggy backed
   event ID for example BPF, pattern match, auth/assoc/deauth
   wake up.
3) Auth/Assoc/Deauth etc management wake up reasons do not carry
piggy backed WMI event ID. Actual management WMI event ID comes
as a separate WMI event from target.

Change-Id: Ie7b2b902b646375f21467211f1a4a61361144f3f
CRs-Fixed: 1059088
2016-08-27 16:12:04 -07:00
qcabuildsw
2deeeeb72c Release 5.1.0.24M
Release 5.1.0.24M

Change-Id: Ib83a7ae78f6e87715b09568abd87de67d1846b53
CRs-Fixed: 688141
2016-08-27 16:10:04 -07:00
qcabuildsw
3d748388f3 Release 5.1.0.24L
Release 5.1.0.24L

Change-Id: I5f5b88d2dc8abdca3aacf84a862cedda686dcbe8
CRs-Fixed: 688141
2016-08-27 16:08:51 -07:00
Mukul Sharma
f7cb3ab22e qcacld-3.0: Move buckets_scanned mask for extscan get cache result
qcacld-2.0 to qcacld-3.0 propagation

If host issues extscan get cache results, while gscan is not in
progress then buckets_scanned mask comes as zero. To handle this
issue now firmware sends the buckets_scanned mask as part of
wmi_extscan_rssi_info instead of fixed_param.

Change-Id: I5923a5fc642dd722bf6cc9f5496c7cedcf75e1a5
CRs-Fixed: 1001733
2016-08-27 16:08:13 -07:00
qcabuildsw
8496c2c31c Release 5.1.0.24K
Release 5.1.0.24K

Change-Id: I5fe51286b1397b113df1e892ccc9da7374e30024
CRs-Fixed: 688141
2016-08-27 16:07:34 -07:00
Krishna Kumaar Natarajan
aa93872115 qcacld-3.0: Update incorrect condition in hdd_set_fw_params()
Update incorrect conditional check in hdd_set_fw_params.

Without this fix, even when we support 2x2 mode RX/TX chain mask
will be set for 1x1 mode. Fix the condition to update the chain
mask correctly and also some other FW parameters which are
independent of antenna mode will be updated correctly.

Change-Id: Iaa51a6eb22c6970d294f503159f98d50ca7a0000
CRs-Fixed: 1057742
2016-08-27 16:05:56 -07:00
Krishna Kumaar Natarajan
a7315f2414 qcacld-3.0: Fix incorrect memory comparison in cds_is_mmie_valid
Fix incorrect memory comparison cds_is_mmie_valid.

In cds_is_mmie_valid(), while processing Rx Robust Management Frame
invalid condition usage results in incorrectly tagging the Rx packet for
replay attack. Similar invalid condition results in incorrectly
tagging the packets for MIC mismatch. This change will update the checks
so that Rx packets will not be dropped incorrectly.

Change-Id: I50974232db034029747e0af8c8b5b70959c4dcb7
CRs-Fixed: 1057261
2016-08-27 16:04:57 -07:00
qcabuildsw
8b22a7b232 Release 5.1.0.24J
Release 5.1.0.24J

Change-Id: I395608033225e98f6f18bc0a8c302ddef729454d
CRs-Fixed: 688141
2016-08-27 16:04:03 -07:00
Himanshu Agarwal
19141bb676 qcacld-3.0: Add capability based logic to mark first packet after wakeup
Propagation from qcacld-2.0 to qcacld-3.0.

Add a capability in service bitmask to indicate that fw also supports
this feature of marking first packet after wow wakeup to maintain backward
compatibility.

Change-Id: I3d41f5425e3a170c046941a439d17e06df0c6bef
CRs-Fixed: 1021382
2016-08-27 16:02:41 -07:00
Himanshu Agarwal
053d4556d8 qcacld-3.0: Add support to mark first packet after wow wakeup
Propagation from qcacld-2.0 to qcacld-3.0.

Add support to mark the highest bit of the skb->mark for the first
packet after wow wakeup event from firmware

Change-Id: I877dd7af9a58ebc02d73461cc2a29e86a3945dec
CRs-Fixed: 989984
2016-08-27 16:01:58 -07:00
qcabuildsw
d792ae14de Release 5.1.0.24I
Release 5.1.0.24I

Change-Id: I5da266d9a85c6ddb48372f0094fbb76bc8f7887e
CRs-Fixed: 688141
2016-08-27 16:01:14 -07:00
Arun Khandavalli
1318b99a8d qcacld-3.0: Validate the hif_ctx before dereferencing
Validate the hif_ctx from cds_get_context before deferencing.

Change-Id: I352104058143224d2555d3323747719bd14066e5
CRs-Fixed: 1052039
2016-08-27 16:00:16 -07:00
qcabuildsw
d6c90fa458 Release 5.1.0.24H
Release 5.1.0.24H

Change-Id: If54e537f33f177e3c53c70bcea03d1cd69d05f53
CRs-Fixed: 688141
2016-08-27 15:57:00 -07:00
Sravan Kumar Kairam
c0873589a4 qcacld-3.0: Send anycast addresses for NS offload
Propagation from qcacld-2.0 to qcacld-3.0

Current implementation has support for IPv6 addresses of type
unicast for NS offload to firmware.

As part of this change add anycast addresses for NS offload.

Change-Id: I1151c8af3bbc815216c4ffd9668dd0b6561f222e
CRs-Fixed: 954880
2016-08-27 15:56:17 -07:00
Sravan Kumar Kairam
fece87f53f qcacld-3.0: Add HAL command support to set NS offload
Propagation from qcacld-2.0 to qcacld-3.0

Add support to enable/disable NS offload to firmware from HAL
vendor command.

As part of this fix when NS offload is set to disable from HAL
command, NS will not be offloaded when wlan goes to suspend state
even if NS offload is enabled in cfg ini.

Change-Id: Iffaaa9be2e62ea03fcbe3e32d2cc654d3e7334f5
CRs-Fixed: 954880
2016-08-27 15:55:34 -07:00
qcabuildsw
66f4165805 Release 5.1.0.24G
Release 5.1.0.24G

Change-Id: I04e11e18cb0c76284e516183344e89244b19c034
CRs-Fixed: 688141
2016-08-27 15:54:07 -07:00
Kapil Gupta
0a2477b23f qcacld-3.0: Set initial dense status in case of dense roaming
In case of dense roam scenario, Host should set initial dense
status if roamable AP count is more than minimum dense AP count.
Current implementation checks for the number of channels in roam
cache list instead of AP count.

Add changes to set the flag if roamable AP count is more than
configured value.

Change-Id: I4d5f7c6c69b1a9a527aace1677050373065af213
CRs-Fixed: 1058211
2016-08-27 15:52:52 -07:00
Kapil Gupta
7bad43148f qcacld-3.0: Update default value of gtraffic_threshold
gtraffic_threshold is needed to determine traffic condition for roam
scan.
Add changes to update default value of gtraffic_threshold in kbps.

Change-Id: I844903225ec178de7b88cf63b92531e46bdd9fe3
CRs-Fixed: 1056787
2016-08-27 15:51:55 -07:00
qcabuildsw
f4471ffc14 Release 5.1.0.24F
Release 5.1.0.24F

Change-Id: Ibec659ae068b3fffcc23e56113d75059e04466e1
CRs-Fixed: 688141
2016-08-27 15:50:39 -07:00
Selvaraj, Sridhar
ba726cbef5 qcacld-3.0: Add Association disallowed functionality for MBO
As part of MBO(MultiBand Operations), Station should not
initiate connection with BSS if association disallowed
subattribute in MBO IE of Beacon, Probe response frames
is SET.

Parse MBO IE and dont initiate connection if association
disallowed subattribute is present.

Change-Id: I6580b646c97b409453eade527285c97ed8cf86e4
CRs-Fixed: 1039969
2016-08-27 15:50:07 -07:00
qcabuildsw
9c9c51351c Release 5.1.0.24E
Release 5.1.0.24E

Change-Id: I293e525cd22d5c46308c909f0645ddd96e0b62be
CRs-Fixed: 688141
2016-08-27 15:49:17 -07:00
Manjeet Singh
ccfd185878 qcacld-3.0: Correct HAL PWR CMD SIR param value
Change SIR_HAL_POWER_DBG_CMD param value as it's already used.

Change-Id: Icb7af85bfc25a59961030980a5dc8d79a097b70f
CRs-fixed: 1056197
2016-08-27 15:48:32 -07:00
qcabuildsw
0ca889e263 Release 5.1.0.24D
Release 5.1.0.24D

Change-Id: Id20d5cea38015a1a59147c3f70a51cf4a2b5d662
CRs-Fixed: 688141
2016-08-27 15:47:48 -07:00
Selvaraj, Sridhar
fe696d2bac qcacld-3.0: Update RRM scan results to user space
qcacld-2.0 to qcacld-3.0 propagation

Currently RRM scan results are sent out to the requesting AP, but
are not updated to the kernel.

Update the results to the kernel so that it will be useful in future
in the userspace if a BTM request is received and the lookup of
scan cache can fetch a result for the target AP and an additional
scan can be avoided.

Git-commit: 3075ac910c015ce525bf8badd1eb4a277286b28f
Change-Id: Ie56b86e5c54910648cb2ae8bf2a7dac2ee873e00
CRs-Fixed: 1010596
2016-08-27 15:46:48 -07:00
Selvaraj, Sridhar
6f92ecb764 qcacld-3.0: Start the scan right away for RRM beacon requests
qcacld-2.0 to qcacld-3.0 propagation

Currently all the scan requests going from the host to the
firmware pass a rest time to the firmware. The firmware
waits for the rest time before starting the scan. This is
not needed in the case of RRM beacon requests with single
channel request to make it more optimal.

Configure the rest times to minimum and start the scan
right after receiving the request

Git-commit: b0132824baeceb25bbc80d0e82ed6693b783b4dd
Change-Id: Ia5c5a1c2c765d13611b901742910325954ce3d8a
CRs-Fixed: 1010596
2016-08-27 15:45:44 -07:00
Selvaraj, Sridhar
a9c7243143 qcacld-3.0: Use BSSID for active scan if provided by supplicant
qcacld-2.0 to qcacld-3.0 propagation.

Presently, supplicant does not send bssid parameter as part of scan
command to driver. Since that support is added, use the bssid received
from scan command for active scan ie add the bssid as part of scan
offload command to firmware so as to send probe request with bssid
set with the one received as part of the scan command.

Git-commit: 5ad6cc46eda9e6d7195c353730a22427b9937283
Change-Id: I97886b1dbd63fbca21fa410252df572f819df207
CRs-Fixed: 1010596
2016-08-27 15:39:54 -07:00
qcabuildsw
e97b85a158 Release 5.1.0.24C
Release 5.1.0.24C

Change-Id: Id99d09b3b19905f537f8e669e4624123d2381929
CRs-Fixed: 688141
2016-08-27 15:39:12 -07:00
Abhishek Singh
99bce86e3d qcacld-3.0: Drop connect if MFPEnabled is set but AP is non-PMF
qcacld-2.0 to qcacld-3.0 propagation

If ieee80211w=2 or pmf=2 is an explicit configuration in the
supplicant configuration MFPEnabled is set and driver assume it
as a PMF required connection, even if AP is in open security
mode.

Now when disconnect is received from supplicant driver sends a
protected deauth and assert is observed as firmware do not have
any valid key.

To fix this if ieee80211w=2 or pmf=2 is an explicit configuration
in the supplicant configuration but peer AP is non-PMF drop the
connection request.

Change-Id: I40faf63df4e95b367d66e9b51ff165759989a1d1
CRs-Fixed: 1011976
2016-08-27 15:38:21 -07:00
qcabuildsw
eddbe5379f Release 5.1.0.24B
Release 5.1.0.24B

Change-Id: I38d042ee1b8f77290e302fb8279adf7c34f3fb44
CRs-Fixed: 688141
2016-08-27 15:37:23 -07:00
Manishekar Chandrasekaran
b82554d382 qcacld-3.0: Map internal PCL weight to the FW weight representation
Map the internal PCL weights to the weights that the FW can
understand.

Change-Id: Ib7b2a67305ddec991fe94016cea09a834e5b4cb5
CRs-Fixed: 1050438
2016-08-27 15:34:44 -07:00
qcabuildsw
add0a31f67 Release 5.1.0.24A
Release 5.1.0.24A

Change-Id: Iada37702891f6cbe8ea2b5c4293ee44d5b442c1b
CRs-Fixed: 688141
2016-08-27 15:33:31 -07:00
Abhishek Singh
e740517a7b qcacld-3.0: Do not call pr_info while using spin_lock_irqsave
qcacld-2.0 to qcacld-3.0 propagation

wlan_queue_logmsg_for_app is called while holding spin lock with
interrupts disabled. It may call pr_info to log if node is dropped
while sending to user space.

This may cause interrupts disabled for some time.
As part of fix remove all pr_info from wlan_queue_logmsg_for_app.

Change-Id: Iffa5d463ae4e807bb30ff6eec5f3949735663fd5
CRs-Fixed: 1005714
2016-08-27 15:31:25 -07:00
Abhishek Singh
5a33171128 qcacld-3.0: Fix scan failure issue due to stale PE session
qcacld-2.0 to qcacld-3.0 propagation

If roaming is initiated by firmware, after getting the candidate
list the CSR will start preauth with the candidates and thus
preauth will be the active command in SME.

Now if at the same time connect is issued from supplicant,
HDD will queue disconnect cmd in SME queue and wait for disconnect
to get complete for 2 sec. Now there is a chance that channel
change along with preauth timeout can take more than 2 secs.
In this scenareo the disconnect will timeout in HDD and will
return connect failure to supplicant. Next supplicant will issue
disconnect which is ignored by HDD as disconnect is already been
queued in SME. Now if supplicant again sends the connect command,
as part of connect command CSR will remove the disconnect command
from the SME queue and queue this connect command.

On preauth timeout the preauth state machine checks if disconnect
is queued and if it is queued it will abort preauth. But in this
case disconnect is removed by the connect request and thus preauth
retry continues and if preauth is success handoff will be queued
in SME queue.

Now the connect request is processed and if this connect request's
BSSID is same as the BSSID of the roam candidate, as all the CSR
states for this BSSID session indicate roaming, instead of
join it will try to reassociate and continue changing the CSR states
again. Eventually this connect will fail. Next the handoff command
is processed and as part of handoff it will try to cleanup
original session, but as CSR states are changed by connect request
the original session is not cleaned up properly. This results in
stale PE session entry which does not allow the scan to be sent to
firmware, returning the cached results and thus 0 scan results.

To fix this:
- Increase the WLAN_WAIT_TIME_DISCONNECT to 5 sec to make sure all
  sessions are cleaned up before allowing the new connect to proceed.
- Increase the priority of preauth scans.

Change-Id: Id7cc1e6f3c31df8a8c8955eb3ff48cb60e5b5ab2
CRs-Fixed: 1048394
2016-08-27 15:29:57 -07:00
Service qcabuildsw
a1dc0f1502 Merge "qcacld-3.0: Do not reset short preamble support and beacon interval" into wlan-cld3.driver.lnx.1.1-dev 2016-08-27 15:18:16 -07:00
Ravi Joshi
bb8d451c63 qcacld-3.0: Drop replayed multicast packets
Integration from qcacld-2.0 to qcacld-3.0

IPv6 Multicast (Neighbor Solicitation) frames are
not rejected by the WLAN driver when these frames
are bounced back from the AP. This causes network
stack to assume the duplicate IP address on the
network and fails to assign the IPv6 address.
Currently, this is a workaround till the issue is
root caused.

Change-Id: If5d48ed903f484805e7f4be9df52582e50bd6ce5
CRs-Fixed: 748105
2016-08-25 22:18:19 -07:00
Service qcabuildsw
896fbae52a Merge "qcacld-3.0: Set rx_mode to be NAPI for iHelium" into wlan-cld3.driver.lnx.1.1-dev 2016-08-25 12:22:37 -07:00
Service qcabuildsw
c719610835 Merge "qcacld-3.0: Check and kickstart the modules state if they are closed" into wlan-cld3.driver.lnx.1.1-dev 2016-08-25 12:21:48 -07:00
Service qcabuildsw
119db31ba7 Merge "qcacld-3.0: Fixes for p2p from GUI/standalone" into wlan-cld3.driver.lnx.1.1-dev 2016-08-25 12:20:55 -07:00
Manjunathappa Prakash
2721f942ff qcacld-3.0: Set rx_mode to be NAPI for iHelium
With the introduction of rx_mode ini config, gEnableRxThread and
gEnableNAPI configuration are obsolete. So remove them.

Change-Id: Ida8063eff86a644ebf9c494b94bcb3396b35b6e8
CRs-Fixed: 1056091
2016-08-24 16:25:21 -07:00
Arun Khandavalli
99286457f6 qcacld-3.0: Check and kickstart the modules state if they are closed
There are few NL80211 commands which can be triggered from the upper
layer even when the interfaces are down. Check the driver state
machine when these commands gets triggered from the upper layer and
start the modules if they are closed, so these commands can be honoured
correctly.

Change-Id: I4a1d2e95379a5e690b00eea37e80ceb8a91925fb
CRs-Fixed: 1056959
2016-08-24 22:47:22 +05:30
Arun Khandavalli
b2f6c26fa4 qcacld-3.0: Fixes for p2p from GUI/standalone
* From the GUI, After change interface, only stop
  and de-init of adapter was getting done.
  The interface to be changed was not getting started. So, start
  the adapter from the mode since the interface was already up in the
  P2P device mode before the change_iface, supplicant doesn't invoke
  interface up on the adapter again.

* In the standalone scenario, the interface up for the p2p0 comes 1st,
  as part of which the sme session shall be opened with sessionId 0.
  So, as part of indicating the management from to HDD, LIM layer tries
  to traverse the adapter list with the sessionId and since the wlan0 interface
  is also part of the linked list with the same sessid. It tries to send the
  management frames on the wrong interface index because of which frames were
  not reaching the supplicant. To migitate this issue, once the adapter is
  allocated, fill the session with invalid sessionId so that it can be updated
  with the valid sessionId once the session is created.

Change-Id: I63b320aea1eb779883dfa070bad3f2057fd5c371
CRs-Fixed: 1056344
2016-08-24 16:39:02 +05:30
Abhishek Singh
af7e7fa67c qcacld-3.0: Do not reset short preamble support and beacon interval
qcacld-2.0 to qcacld-3.0 propagation

In pe_reset_protection_callback psession's beaconParams struct is
reset to 0 and thus short preamble support being part of this
structure is set to 0. Due to this beacons always have barker
preamble set to 1 even if no non short preamble enabled STA is
connected.

To avoid this do not reset the short preamble support and beacon
interval in psession's beaconParams structure.

Change-Id: I631fb202fba6bc129d03ff21cff2adef328abff2
CRs-Fixed: 1032578
2016-08-22 22:55:48 -07:00
qcabuildsw
e0676b5d59 Release 5.1.0.24
Release 5.1.0.24

Change-Id: Icf7dc61f1ec321f3d6330a26f74c4f8a6b55e933
CRs-Fixed: 688141
2016-08-22 12:44:51 -07:00
Deepak Dhamdhere
c47cfe8fa7 Revert "qcacld-3.0: Force delete peer entry during LFR3 roaming"
This reverts commit-id: "Ib028c29863d4e95ccac434f7d47bfedd59ef883f"
It caused peer object memory access after it was freed.

CRs-Fixed: 1057347
Change-Id: I99842eb646371e186ade3b126ea0e8f84b7f2187
2016-08-22 12:44:49 -07:00
qcabuildsw
6bacf440e4 Release 5.1.0.23Z
Release 5.1.0.23Z

Change-Id: Ib55a200a64fc6a52852cb0517791b36265c0e10f
CRs-Fixed: 688141
2016-08-21 18:04:13 -07:00
Sandeep Puligilla
58c84ef0cd Revert "qcacld-3.0: Check if vdev is up before sending vdev down to FW"
Auth request is not sent out due to which assoc reject is observed.

As part of the vdev down firmware clears the software tx queue which
is blocked due to the "Ia5394390d376c638b3976d446a6ecc98d0584159"
change. So reverting this change will enable
the vdev down and clears the tx queue.

This reverts commit-id "Ia5394390d376c638b3976d446a6ecc98d0584159"

Change-Id: If7d7ca5939f7586b12d84d6e070e94bb5e7e6c2c
CRs-Fixed: 1057329
2016-08-21 18:04:12 -07:00
qcabuildsw
09634035c6 Release 5.1.0.23Y
Release 5.1.0.23Y

Change-Id: I25f943db875a686133e45039774c334a704f268a
CRs-Fixed: 688141
2016-08-20 14:19:25 -07:00
Jeff Johnson
94be11c3eb qcacld-3.0: Convert wlan_hdd_main.c to unified logging [7/7]
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_main.c to use the unified set of APIs.  Since there are a
large number of changes in this file, perform the conversion in
phases.

For phase 7 set the HDD_DISALLOW_LEGACY_HDDLOG flag so that no future
changes can introduce new instances of legacy logging.

Change-Id: I09ed8f80764cc7b55bbcdd506253f56b5ee07937
CRs-Fixed: 937663
2016-08-20 14:19:24 -07:00
Jeff Johnson
28f8a77d33 qcacld-3.0: Convert wlan_hdd_main.c to unified logging [6/7]
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_main.c to use the unified set of APIs.  Since there are a
large number of changes in this file, perform the conversion in
phases.

For phase 6 update the following functions:
wlan_hdd_auto_shutdown_cb()
wlan_hdd_auto_shutdown_enable()
hdd_stop_bus_bw_compute_timer()
wlan_hdd_check_custom_con_channel_rules()
wlan_hdd_stop_sap()
wlan_hdd_start_sap()

Change-Id: I87781017f43b2e40ede02448d7332b6ee18465f1
CRs-Fixed: 937663
2016-08-20 14:19:22 -07:00
Jeff Johnson
34c88b7d5c qcacld-3.0: Convert wlan_hdd_main.c to unified logging [5/7]
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_main.c to use the unified set of APIs.  Since there are a
large number of changes in this file, perform the conversion in
phases.

For phase 5 update the following functions:
hdd_ch_avoid_cb()
hdd_init_channel_avoidance()
hdd_populate_random_mac_addr()
hdd_cnss_wlan_mac()
hdd_wlan_startup()
hdd_softap_sta_deauth()
hdd_softap_sta_disassoc()
hdd_softap_tkip_mic_fail_counter_measure()
wlan_hdd_disable_roaming()
wlan_hdd_enable_roaming()
wlan_hdd_send_svc_nlink_msg()

Change-Id: If71de96e81600f2a5136a0907b2404a8e2a05a8b
CRs-Fixed: 937663
2016-08-20 14:19:21 -07:00
Jeff Johnson
760350b7b9 qcacld-3.0: Convert wlan_hdd_main.c to unified logging [4/7]
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_main.c to use the unified set of APIs.  Since there are a
large number of changes in this file, perform the conversion in
phases.

For phase 4 update the following functions:
hdd_skip_acs_scan_timer_handler()
hdd_wlan_set_ht2040_mode()
hdd_wlan_notify_modem_power_state()
hdd_post_cds_enable_config()
hdd_exchange_version_and_caps()
hdd_bus_bw_compute_cbk()
wlan_hdd_init_tx_rx_histogram()
wlan_hdd_display_tx_rx_histogram()
wlan_hdd_display_netif_queue_history()

Change-Id: Ibfd53f4f2703dba8c7ce96368392afa3c0c12d5b
CRs-Fixed: 937663
2016-08-20 14:19:19 -07:00
Jeff Johnson
5880d792cd qcacld-3.0: Convert wlan_hdd_main.c to unified logging [3/7]
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_main.c to use the unified set of APIs.  Since there are a
large number of changes in this file, perform the conversion in
phases.

For phase 3 update the following functions:
hdd_cleanup_actionframe()
hdd_cleanup_adapter()
hdd_open_adapter()
hdd_close_adapter()
wlan_hdd_reset_prob_rspies()
hdd_stop_adapter()
hdd_reset_all_adapters()
hdd_start_all_adapters()
hdd_get_adapter_by_vdev()
hdd_wlan_exit()
__hdd_wlan_exit()

Change-Id: I4eaedea4a7e7da5d4f0284be4ad2ca5d05f8b98a
CRs-Fixed: 937663
2016-08-20 14:19:17 -07:00
Jeff Johnson
1346fab2c8 qcacld-3.0: Convert wlan_hdd_main.c to unified logging [2/7]
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_main.c to use the unified set of APIs.  Since there are a
large number of changes in this file, perform the conversion in
phases.

For phase 2 update the following functions:
__hdd_stop()
__hdd_uninit()
hdd_open_cesium_nl_sock()
__hdd_set_multicast_list()
hdd_register_interface()
hdd_sme_close_session_callback()
hdd_check_and_init_tdls()
hdd_init_station_mode()

Change-Id: Ia181a89d55b2e584739a543a0d163877b474d3ae
CRs-FIxed: 937663
2016-08-20 14:19:16 -07:00
Jeff Johnson
b8969cb51f qcacld-3.0: Convert wlan_hdd_main.c to unified logging [1/7]
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_main.c to use the unified set of APIs.  Since there are a
large number of changes in this file, perform the conversion in
phases.

For phase 1 update the following functions:
__hdd_netdev_notifier_call()
hdd_checkandupdate_phymode()
hdd_set_ibss_power_save_params()
hdd_update_macaddr()
hdd_update_tgt_services()
hdd_update_tgt_ht_cap()
hdd_update_tgt_vht_cap()
hdd_update_tgt_cfg()

Change-Id: Id394b038f35c3f663ae6a00f49c903dc52f4f4a2
CRs-Fixed: 937663
2016-08-20 14:19:14 -07:00
Jeff Johnson
6f91707904 qcacld-3.0: Convert wlan_hdd_ftm.c to unified logging
Currently the HDD code uses a variety of logging APIs.  In
qcacld-3.0 HDD should converge on a unified set of logging APIs.
Update wlan_hdd_ftm.c to use the unified set of APIs.

Change-Id: I58b2214ba1243e93dd5e3c9b6774c08537094139
CRs-Fixed: 937659
2016-08-20 14:19:12 -07:00
qcabuildsw
f969f6fb42 Release 5.1.0.23X
Release 5.1.0.23X

Change-Id: I88868651e2c4144434d5dc3646d994d7a4c500f7
CRs-Fixed: 688141
2016-08-20 10:37:00 -07:00
Nirav Shah
d59b3b253e qcacld-3.0: Log rx packet in packetlog as per rx ind message
Log rx packet in packetlog as per HTT_T2H_MSG_TYPE_RX_IN_ORD_PADDR_IND
message from firmware.

CRs-Fixed: 970647
Change-Id: I5773b67a9269063531d038d46ac404c978818dcc
2016-08-20 10:36:59 -07:00
Srinivas Girigowda
c34f11dfd8 qcacld-3.0: Add support to enable/disable packetlog using iwpriv
Add support to enable/disable packetlog using
iwpriv wlan0 pktlog command.

Change-Id: Ia17f659e16221985be5cd9e75ebf0c46f2dc5693
CRs-Fixed: 970647
2016-08-20 10:36:55 -07:00
Srinivas Girigowda
d9e6f7bb2f qcacld-3.0: Enable packet logging during driver init/re-init
Currently packet logging can be enabled by using the pktlogconf tool.
* Customers are not happy running the user program to collect the logs.
* There are chances of running pktlogconf between traffic.
* If packet logging is enabled after the issue has happened, we will
  miss the crucial debug info.

Hence introduce a mechanism to enable packet logging during driver load.

Change-Id: I3138e252e02009094d61150a55172b49f9fca4fd
CRs-Fixed: 970647
2016-08-20 10:36:53 -07:00
Nirav Shah
dcc4c875c4 qcacld-3.0: Changes to support WDI_EVENT_SW_EVENT for packetlog
Changes in host to support WDI_EVENT_SW_EVENT for packetlog.

Change-Id: I8936a408a7da21ad293b6da7af146298c049052d
CRs-fixed: 1047382
2016-08-20 10:36:52 -07:00
qcabuildsw
888f6ad709 Release 5.1.0.23W
Release 5.1.0.23W

Change-Id: Id4896dbda7ef8703d78363407f1a947cb28ab158
CRs-Fixed: 688141
2016-08-20 01:03:53 -07:00
Amar Singhal
b2cb300cff qcacld-3.0: Conditionally disable channel 144 in wiphy
If channel 144 is disabled in service ready event, host is only
disabling the channel in corestack. Fix that by also disabling the
channel in wiphy, which is used by kernel and user-space.

Change-Id: I4222aef646ede78d97b554faaf7f0c5b627feec0
CRs-Fixed: 1054102
2016-08-20 01:03:52 -07:00
Amar Singhal
04bd8bf652 qcacld-3.0: Fix regulatory domain issues
US regulatory domain is FCC3_FCCA and not FCC8_FCCA. Fix that.
Also add regulatory domain APL8_WORLD to regulatory tables.
Bolivia and Nigeria map to APL8_WORLD.

Change-Id: I539d2720f08026a06669b1c5117523667dfcef52
CRs-Fixed: 1053513
2016-08-20 01:03:50 -07:00
Amar Singhal
1851788cdb qcacld-3.0: Add a new ini item to control the INDOOR channels support
qcacld-2.0 to qcacld-3.0 propagation

Currently indoor channels are unconditionally set to
IEEE80211_CHAN_PASSIVE_SCAN in driver. Add logic to report INDOOR
channel as passive channel only when gindoor_channel_support is FALSE.

Change-Id: Iab55a394a28ff452c06c739f3fbd47506eda85eb
CRs-Fixed: 955272
2016-08-20 01:03:48 -07:00
Deepak Dhamdhere
363c6bc5bf qcacld-3.0: Force delete peer entry during LFR3 roaming
While processing ROAM_OFFLOAD_SYNCH_IND, delete the peer entry
even if reference count is non-zero sine firmware has already
deleted that peer. It allows addition of new peer without waiting
for peer_unmap events. Fix the logic error in checking the timeout
in ol_txrx_peer_attach().

Change-Id: Ib028c29863d4e95ccac434f7d47bfedd59ef883f
CRs-Fixed: 1046754
2016-08-19 19:25:46 -07:00
qcabuildsw
56cd8444d7 Release 5.1.0.23V
Release 5.1.0.23V

Change-Id: Idb9abe998d5e24777c17343b49b218bac8489d34
CRs-Fixed: 688141
2016-08-19 18:52:49 -07:00
Krunal Soni
0193b6f143 qcacld-3.0: Provide support enable RX LDPC in certain cases
In following conditions RX LDPC support needs to be enabled
1) when STA is coming up in 5G band
2) when IBSS is coming up in 5G band

for anyother cases RX LDPC needs to be disabled. If user has
choosen RX LDPC to be disabled from INI file then it needs to
be disabled for all the cases including above mentioned cases.

To achieve this, take the intersection of global, INI, and harware
specific RX LDPC settings.

Change-Id: Iae10aa4a8c0931cdb796cd9c8ff558d4bc8e0aed
CRs-Fixed: 1050004
2016-08-19 18:52:48 -07:00
Krunal Soni
6f6088cc41 qcacld-3.0: Fix the memory leak caused by pmfSaQueryTimer
this patch will fix the memory leak caused by pmfSaQueryTimer
which was encountered during stress and stability tests.

Change-Id: I5a2367302e0eac3a024626795a4469d1ced76e8c
CRs-Fixed: 970527
2016-08-19 18:52:47 -07:00
Himanshu Agarwal
b56ad2e5c1 qcacld-3.0: Change structure names for WIN compilation fix
Change structure names to fix WIN compilation when used in
coexistence with MCL codebase.

Change-Id: Ife09989e1f0f0c4d619f73c5960968d3a6721b6e
Acked-by: prgandhi@qti.qualcomm.com
CRs-Fixed: 1008872
2016-08-19 18:52:45 -07:00
qcabuildsw
9f6c8a05ea Release 5.1.0.23U
Release 5.1.0.23U

Change-Id: Iceb664a4c098fc700c18eb1c77ab1cd43e3426e7
CRs-Fixed: 688141
2016-08-19 18:33:29 -07:00
Manjunathappa Prakash
b4ae4ab7b0 qcacld-3.0: Serialize the LRO manager array access
Serialize the LRO descriptor list modifications.

Change-Id: Ie40ccf274e6e44441a16ff3d6f36a3007b732c09
CRs-Fixed: 1056091
2016-08-19 18:33:29 -07:00
Arif Hussain
a34700c82e qcacld-3.0: Fix sap_acs_channel_check
In sap_acs_channel_check fix ‘if’ condition will be always true for any
given channel, this will fail to validate if the given channel is in ACS
channel range.

Fix the if condition check from logical OR to AND to validate given channel
is within the ACS start and end channel range.

Change-Id: I1d69c9d440e641b052fd6098d1c99f22a64e9a9d
CRs-Fixed: 1056036
2016-08-19 18:33:27 -07:00
Arif Hussain
1b21e81150 qcacld-3.0: Fix overlapping channel selection in ACS
The enableOverLapCh is not populated from HDD context, So sap_filter_over_lap_ch
function always filter overlapping channel causing ACS to select only
non-overlapping channel.

Populate enableOverLapCh from HDD context to SAP context.

Change-Id: I99b1ada48573e8b03ab42a94d98f92f7b0b0e871
CRs-Fixed: 1055071
2016-08-19 18:33:25 -07:00
Mohit Khanna
c6f03989a8 qcacld-3.0: Add USB bus support (DP)
Add datapath changes for USB bus support

Change-Id: Iabb6f5bbfa4d0c2a8026262d2ecb11cdc0533742
CRs-Fixed: 1023663
2016-08-19 18:33:24 -07:00
Mohit Khanna
0fe6167c19 qcacld-3.0: Add USB bus support (WMA)
Add WMA specific changes for USB bus support.

Change-Id: I4186d22e4f0af258ee92fb269db9a987cdd0c933
CRs-Fixed: 1023663
2016-08-19 18:33:23 -07:00
Mohit Khanna
04bea52a30 qcacld-3.0: Add USB bus support (BMI)
Add BMI specific changes for USB bus support.

Change-Id: Icf9d2097d23945c6fab6d3d06dbff04578c8054e
CRs-Fixed: 1023663
2016-08-19 18:33:20 -07:00
Mohit Khanna
1d531c408f qcacld-3.0: Add USB bus support (PLD)
Add PLD specific changes for USB bus support.

CRs-Fixed: 1023663
Change-Id: I030ee8a5e6dd13ed8bd970d80f435219677c4e4b
2016-08-19 18:33:17 -07:00
Mohit Khanna
fa99aea342 qcacld-3.0: Add USB bus support (HDD)
Add HDD specific changes for USB bus support.

CRs-Fixed: 1023663
Change-Id: I572a78cd9de1f7e531f300ced69a7eb51f4a167f
2016-08-19 18:33:16 -07:00
Himanshu Agarwal
11a08c08db qcacld-3.0: Add check to find IPV6 mcast packet
Propagation from qcacld-2.0 to qcacld-3.0.

1) Add check to find IPV6 mcast packet embedded in a
   link layer unicast packet in wma_wow_wake_up_stats.
2) Add extra length check for IPV4 packets.

Change-Id: Ic2af69032262237b8751019817ae181913346818
CRs-Fixed: 1049254
2016-08-19 18:33:14 -07:00
Himanshu Agarwal
4574e28362 qcacld-3.0: Correct wow wakeup counters
Propagation from qcacld-2.0 to qcacld-3.0.

Correct the updation of various wow wakeup counts.
Change wow_icmpv6_uc_bc_count to wow_icmpv6_count
as there is no broadcast in case of ipv6.

Change-Id: Iceaf1226edbf909ca3881e049c33f7d121860ef2
CRs-fixed: 1049254
2016-08-19 18:33:12 -07:00
Himanshu Agarwal
77e1b31e0d qcacld-3.0: Add ipv4 and ipv6 packet checks
Propagation from qcacld-2.0 to qcacld-3.0.

Presently in updating wma_wow_wake_up_stats, icmpv4 and icmpv6
counts are increased just by checking ICMP protocol offset byte
and ICMPV6 protocol offset byte without checking for whether it
is a IPV4 or IPV6 packet. So it is possible that for ICMPV6 packet,
the IPV4 protol offset byte is equal to ICMP protocol or for some
ICMP packet, the IPV6 protocol byte is equal to ICMPV6 protocol and
thus both the icmpv4 and icmpv6 counts will get increased for that packet.

Add ipv4 and ipv6 packet checks as well in addition to the present checks
to avoid wrong increment in the counts.

Change-Id: I2d6e5d095d2f4b2dd474b9338bfc830b04bfa533
CRs-fixed: 1048651
2016-08-19 18:33:11 -07:00
Tushnim Bhattacharyya
c7d6202f2a qcacld-3.0: Disallow chain mask request for 2x2 if hardware is not capable
Disallow host requesting for 2x2 chain if hardware is not capable of or
ini setting disabled it. Downgrade the request to 1x1 instead. No need for
waiting for NSS update to complete as all requests are serialized through
SME cmd queue.

Change-Id: Ifee4ce15771b57ac3cc1e85650c56f426c34c833
CRs-Fixed: 1037816
2016-08-19 18:33:08 -07:00
Mohit Khanna
47384bcd39 qcacld-3.0: fix peer map handler race condition
The existing peer_map_unmap_lock in ol_txrx_peer_find_add_id
does not include call to ol_txrx_peer_unref_delete. The peer addition
handling needs to be atomic with peer reference deletion (in case peer
ref deletion is required).

Move the peer_map_unmap_lock to include ol_txrx_peer_unref_delete.

CRs-Fixed: 1056442
Change-Id: Ica15ea70527f0ea116b960dd7958da73f304288b
2016-08-19 18:33:07 -07:00
Arun Khandavalli
d454d42793 qcacld-3.0: Increase WMA_STA_WOW_DEFAULT_PTRN_MAX to 5
qcacld-2.0 to qcacld-3.0 propagation

The problem with the existing code is:
* WMA_STA_WOW_DEFAULT_PTRN_MAX is set to 4 and in wma_wow_sta()
  we make sure atleast WMA_STA_WOW_DEFAULT_PTRN_MAX free slots are
  available before configuring the default wow pattern. But after this
  check we are actually configuring 5 default wow patterns.
* If BPF is enabled, we are limiting the Max WoW patterns to 2,
  because the free slots are 2 which is less than the expected default
  free slots WMA_STA_WOW_DEFAULT_PTRN_MAX. we are not configuring
  default STA mode wow pattern and hence no wakeups observed for
  incoming packets.
Address this issue by changing the WMA_STA_WOW_DEFAULT_PTRN_MAX to 5 and
MAX WoW filters to WMA_STA_WOW_DEFAULT_PTRN_MAX if BPF is enabled.

Change-Id: If433cff18ce511e7fdffadff69ee13b762a1719b
CRs-Fixed: 973054
2016-08-19 18:33:05 -07:00
Arun Khandavalli
3dd06deb03 qcacld-3.0: BPF fixes for check connection state, set maxwow filter
qcacld-2.0 to qcacld-3.0 propagation

* Set BPF filter only if the station/p2p client is in the connected
  state.
* Depending on the BPF service enabled in firmware dynamically
  configure the number of wow filters.
    - If bpf enabled maxwowfilter is 2.
    - If bpf is disabled maxwowfilter is read from ini.

Change-Id: I14c722c9a1189f4ba4fbc2c8a554ae85b7a61fa8
CRs-Fixed: 967535
2016-08-19 18:33:04 -07:00
Arun Khandavalli
c67110c9b2 qcacld-3.0: Start ap adapter from __wlan_hdd_add_virtual_intf
With SAP+STA concurrency there shall be a new interface created softap0 on
which SAP comes up. In the present scenario the support for starting
the ap adapter only via the change interface.
Since the SAP adapter is not started the start_bss request from the
upper layer fails.

To migitate the issue add support for the start ap adapter from the
 __wlan_hdd_add_virtual_intf.

Change-Id: I4d112441b5aa7ff91dafa9e43f9aceb18d0e13f0
CRs-Fixed: 1056331
2016-08-19 18:33:01 -07:00
qcabuildsw
4cf1ca19ea Release 5.1.0.23T
Release 5.1.0.23T

Change-Id: Id3726a27cc0f0a3600c1e961cb5282f16369283f
CRs-Fixed: 688141
2016-08-19 16:58:23 -07:00
Sreelakshmi Konamki
e1cd51f194 qcacld-3.0: Update ICMP and ICMPV6 WOW wake up stats
qcacld-2.0 to qcacld-3.0 propagation

Currently ICMP counter is incremented only for IPV4 multicast packets.
But ICMP count includes total unicast/multicast/broadcast ICMP packets.

Add changes to update ICMP counter for unicast/multicast/broadcast
ICMP packets.

Change-Id: I00f9fb0c8231fd69f6c108ced8028eb19315006e
CRs-Fixed: 1020079
2016-08-19 16:58:20 -07:00
Padma, Santhosh Kumar
5e33bebbc2 qcacld-3.0: Get wakelock stats
qcacld-2.0 to qcacld-3.0 propagation

Send wakelock stats to HAL layer when it requests through vendor
command QCA_NL80211_VENDOR_SUBCMD_WAKELOCK_STATS. This is a
blocking request in HDD.

Change-Id: Ie043323d90f63c19de2da9d1b8b54bc28d2c8f3d
CRs-Fixed: 958964
2016-08-19 16:58:18 -07:00
Govind Singh
068c4b0fc3 qcacld-3.0: Set NAPI event after hif layer is initialized
hdd_napi_event requires hif_ctx, after dynamic mode feature hif_ctx
is getting created later as part of hdd_start_modules. HIF ctx is being
created/destroyed depending on the interface up/down from the upper
layer, hence set NAPI event after hif layer is initialized.

Change-Id: I9fb21f6f75cc689620a6befd997956610e2ca3ae
CRs-fixed: 1055660
2016-08-19 16:58:16 -07:00
qcabuildsw
6c453d93a6 Release 5.1.0.23S
Release 5.1.0.23S

Change-Id: I9b6d5c1ccb88c478e7eecb9f82d4aae56f132820
CRs-Fixed: 688141
2016-08-19 11:03:51 -07:00
Arif Hussain
aca67305b5 qcacld-3.0: SAP: Add radar pulse table for KR and CN
Add radar pulse table for new DFS domain KR and CN.

Change-Id: I75708a215f51b558a6b7573bcc730a08d2e4bd11
CRs-Fixed: 1047817
2016-08-19 11:03:51 -07:00
Amar Singhal
604ba6cf04 qcacld-3.0: Modify DFS region for KR and CN
KR and CN have different DFS regions than what kernel provides.
Assign the correct DFS regions for KR and CN. Also use "enum
dfs_region" as the parameter type in functions that have
dfs region as parameter.

CRs-Fixed: 1047214
Change-Id: I2ddd67d3c29a448dd2a1d3a63113750783fb6731
2016-08-19 11:03:51 -07:00
qcabuildsw
2807f3d22e Release 5.1.0.23R
Release 5.1.0.23R

Change-Id: I384e3faaaff18c51d750542f45ab1a1f3cd7ca96
CRs-Fixed: 688141
2016-08-19 11:03:51 -07:00
Yuanyuan Liu
3e918e5ca3 qcacld-3.0: Send WLAN off event to WLS at the end of WLAN off steps
send WLAN off event to WLS at the end of WLAN off steps
to make sure WLAN is really off when WLS calls 'glink deinit'.

Change-Id: I29e15d51ec306071fc9f5ff7e3565c75814944e8
CRs-Fixed: 985226
2016-08-19 11:03:51 -07:00
Yuanyuan Liu
f2ee05f167 qcacld-3.0: Provide PLD API for getting IRQ number
Provide PLD API of getting IRQ number for a given CE ID.

Change-Id: Icd293993e84ab4daa98430db231b8b73e082cd29
CRs-Fixed: 1047259
2016-08-19 11:03:51 -07:00
qcabuildsw
b07f5ab403 Release 5.1.0.23Q
Release 5.1.0.23Q

Change-Id: I5dda077d8a1160e20b91077856dc7be7a89c9543
CRs-Fixed: 688141
2016-08-18 09:11:48 -07:00
Manishekar Chandrasekaran
d3ee9756dc qcacld-3.0: Ensure MAS commands to be made PDEV specific
Make MAS (MCC Adaptive Scheduler) commands to be PDEV
specific.

Two instances of OCS (Off Channel Scheduler) can exist
in the FW (one per MAC) and FW provides the option of
enabling and disabling MAS on a per MAC basis. But,
Host does not have enable/disable option for individual
MACs. So, the agreement with the FW is for the Host to
send down a ‘pdev id’ of 0. When ‘pdev id’ of 0 is used,
FW treats this as a SOC level command and applies the
same value to both MACs. So, irrespective of the value
of ‘WMI_SERVICE_DEPRECATED_REPLACE’ in the WMI service
bit map, the pdev id needs to be ‘0’ (SOC level) for
the WMI command
WMI_RESMGR_ADAPTIVE_OCS_ENABLE_DISABLE_CMDID.

WMI command WMI_RESMGR_SET_CHAN_TIME_QUOTA_CMDID to set
the MCC quota is sent down as channel – value pairs.
The value being channel time quota and the channel being
sent down is a home channel. The additional requirement
from FW is that all the channels in a single WMI command
belong to the same MAC. FW asserts if the WMI command
mixes and matches home channels associated with
different MACs. So, although the PDEV ID is not part of
the WMI command struct, the cmd is in a sense PDEV
specific.

There is no change in the WMI command
WMI_RESMGR_SET_CHAN_LATENCY_CMDID to make it PDEV
specific since this WMI command always send only one
channel-latency pair to the FW. So, there shouldn’t be
any problem of FW receiving home channels associated
with different MACs, for this WMI command.

Change-Id: Ie22800e07bbeef65c43f9171de828533b982a06b
CRs-Fixed: 1052652
2016-08-18 09:11:47 -07:00
qcabuildsw
cf6ce2c055 Release 5.1.0.23P
Release 5.1.0.23P

Change-Id: Ie16a5163c716d5bd9fc0ee211ab206079218d6c4
CRs-Fixed: 688141
2016-08-18 01:49:44 -07:00
Govind Singh
b84759415b qcacld-3.0: Add ndp_ctx NULL check in error scenario
Add ndp_ctx NULL check in error scenario before
dereferencing it.

Propagation from qcacld-2.0 to qcacld-3.0.

Change-Id: I7a6aa92351e0140b78c9d7b95f2a6cca45f8e387
CRs-Fixed: 1044060
2016-08-18 01:49:43 -07:00
qcabuildsw
e5fe78c945 Release 5.1.0.23O
Release 5.1.0.23O

Change-Id: I5db783be1a0d9568d335588cee0b49a82734721a
CRs-Fixed: 688141
2016-08-18 00:41:02 -07:00
Nirav Shah
c657ef50ea qcacld-3.0: Changes to update mac_id in packetlog
Changes to update mac_id in packetlog header
for DBS.

Change-Id: I602d399e1ef34077b5d7bfc867fb60678ed8612c
CRs-fixed: 1047382
2016-08-18 00:41:01 -07:00
qcabuildsw
cb6e2089bb Release 5.1.0.23N
Release 5.1.0.23N

Change-Id: Iea866eec216ff827b53869454df616934852120a
CRs-Fixed: 688141
2016-08-17 20:06:12 -07:00
Sandeep Puligilla
829d6acb75 qcacld-3.0: Remove duplicate OBSS start scan request
Host is sending OBSS start scan request twice to firmware.
OBSS scan start is triggered as part of the set context response
processing and it gets called twice after association.

Added condition check to allow only once the OBSS scan request.

Change-Id: I8ccc7172df9d89aaa09ad924ced7f8ed5a6ace13
CRs-Fixed: 1053626
2016-08-17 20:06:11 -07:00
Krishna Kumaar Natarajan
da90922125 qcacld-3.0: Fix incorrect compilation flag termination
Fix incorrect compilation flag termination.

Under WLAN_ENABLE_AGEIE_ON_SCAN_RESULTS compilation flag TDLS and few
other unrelated changes were present. This change set will remove
the unrelated changes outside this compilation flag.

Change-Id: I16ca3013147c549acc1b0758c268af717166ac57
CRs-Fixed: 1050754
2016-08-17 20:06:09 -07:00
Krishna Kumaar Natarajan
89a99d46ed qcacld-3.0: Provide sequence control information to userspace
Provide sequence control information to userpace tool via
vendor IE.

Change-Id: Ic0489f7fca3519964b12aa5f272bd66a4d02115c
CRs-Fixed: 1050754
2016-08-17 20:06:06 -07:00
Poddar, Siddarth
7ca1e08421 qcacld-3.0: Delete PMF Sta from previous vdev
qcacld-2.0 to qcacld-3.0 propagation

If a PMF Sta is already connected to one interface and try
to switch to other interface without sending deauth/disassoc,
sta entry is not deleted from previous vdev and one more entry
is created on current vdev. Due to this htt is not able to get
valid peer for EAPOL packets and EAPOL packets are dropped leading
to connection failure.
To fix this, Add check to delete PMF Sta from one vdev when
assoc request is received on another vdev.

Change-Id: Ida2e20fe08af3c6ed426822a71db1fd6854a0bea
CRs-Fixed: 1033224
2016-08-17 20:06:04 -07:00
qcabuildsw
53675724ec Release 5.1.0.23M
Release 5.1.0.23M

Change-Id: I5d684de1663405265674bbbf42d8ebeb604853fb
CRs-Fixed: 688141
2016-08-17 17:07:05 -07:00
Poddar, Siddarth
74178df581 qcacld-3.0: Add argument to ol_tx_queue_free for vdev or peer queues
qcacld-2.0 to qcacld-3.0 propagation

Add additional argument in ol_tx_queue_free to indicate whether
txq is vdev or peer queues to avoid extracting peer_id in case of
vdev txq queue in ol_tx_queue_log_free function.

Change-Id: Ic521c23b4001f15a382e9435413cdafca0c8b49f
CRs-Fixed: 1023457
2016-08-17 17:07:03 -07:00
Poddar, Siddarth
0cec8eaf67 qcacld-3.0: add NULL check and drop rx indication for a frame
qcacld-2.0 to qcacld-3.0 propagation

Add check to handle kernel NULL pointer dereference
during calling ol_rx_reorder_release.

Change-Id: If0367e0a7910d7ee460709fc8ae25ecc6de3485d
CRs-Fixed: 994435
2016-08-17 17:07:01 -07:00
Kabilan Kannan
ff89f748c1 qcacld-3.0: Avoid race condition in antenna switch operation
qcacld-2.0 to qcacld-3.0 propagation

When the TDLS traffic flows continuously between the two
peers and if the antenna switch command comes from the
user, it creates a race condition and blocks the
antenna switch operation.
Add a new transition state in TDLS to avoid this race
condition.

Change-Id: I1c9b183c460e1401bd1ee2631489c57778ec665b
CRs-Fixed: 971505
2016-08-17 17:06:58 -07:00
Selvaraj, Sridhar
35cc2cf07c qcacld-3.0: Don't populate TDLS IE's in extended capabilities
qcacld-2.0 to qcacld-3.0 propagation

Currently in case of IBSS, beacons are populated with TDLS IE's
in extended capabilities though TDLS IE's and extended capabilities
doesn't signify anything.

Fix will ensure to exclude extended capabilities and TDLS IE's

Git-commit: c50b50f7f0616b4536e7df998e98f9347562e680
Change-Id: I63b6f413964cc53f2f25496fef40f99c4244293a
CRs-Fixed: 1017887
2016-08-17 17:06:55 -07:00
Yun Park
7f171abb04 qcacld-3.0: Fix potential NULL dereference in ol_txrx_ipa_uc_get_resource
Pointer 'cds_get_context(QDF_MODULE_ID_TXRX)' returned from call to
function ol_txrx_ipa_uc_get_resource may be NULL and will be
dereferenced.
The fix is to check if cds_get_context is not NULL before passing it
to ol_txrx_ipa_uc_get_resource.

Change-Id: Idbb69bcbef6cb54df334c30419dc0f7015466f28
CRs-Fixed: 1042048
2016-08-17 17:06:53 -07:00
Arun Khandavalli
0850081699 qcacld-3.0: Validate the memory allocation for the bpf program
Validate the memory allocated for the bpf filter program before
dereferencing it.

Also return the correct error status to the caller

Change-Id: Ia165e2f8611830f26c6e466f74bb5e32fc8822e8
CRs-Fixed: 1042027
2016-08-17 17:06:51 -07:00
Mukul Sharma
45114d999a qcacld-3.0: Move scan_results_available from bucket complete to cycle complete
qcacld-2.0 to qcacld-3.0 propagation

Currently extscan_results_available event is posted to user space after a
bucket scan is completed. If the extscan start request is configured for
multiple buckets, then the user space application tries to fetch cached
results on every extscan_results available.
If the get_cached_results is issued with flush=1, then every get_cached_results
will have 0 scan results and since flush=1 is set, due to a bug in firmware
even the temporary scan cache is flushed, there by we miss reporting the
APs found in the previous bucket scans and only the last get_cached_results
will report the APs found in the last bucket scan. Whereas the expectation is
get_cached_results must report all the APs found in the complete scan cycle.
The proposed fix is in both firmware and host:
1. Firmware to ignore get_cached_results flush=1 and not to flush the temporary
   scan cache in the middle of extscan cycle.
2. Host to consume bucket_started event within host driver and map
   extscan_results_available with cycle_complete instead of bucket_complete.

Change-Id: I399204261fa3d8515146c590630a3bb663ee801c
CRs-Fixed: 975402
2016-08-17 17:06:48 -07:00
Mukul Sharma
fa937be21a qcacld-3.0: Enhance EXTSCAN feature
qcacld-2.0 to qcacld-3.0 propagation

Make the following enhancements to the EXTSCAN feature:
* Add buckets_scanned param while sending
  on_full_scan_result/cached result event to user space.
* Configure REPORT_EVENTS_CONTEXT_HUB to firmware.
* Remove status while sending on_scan_event to user space.
* Add support for SCAN_THRESHOLD_NUM_SCANS /
  SCAN_THRESHOLD_PERCENT while sending scan event.

Change-Id: Ib37ce7cef5b3ce9d9ee4ebdc5ea9bcadaad7b695
CRs-Fixed: 960456
2016-08-17 17:06:45 -07:00
Rajeev Kumar
dd3bc6012f qcacld-3.0: Add INI item to control BPF feature configuration
Add INI item to control BPF feature configuration.

Change-Id: Ia110916f5d657db6970f988dab5c3be55074c3bf
CRs-Fixed: 1055033
2016-08-17 17:06:43 -07:00
Himanshu Agarwal
ec51a5a4c8 qcacld-3.0: Dump more WoW wakeup packet info
Propagation from qcacld-2.0 to qcacld-3.0.

Dump some more info for WOW wakeup packet:
   1) ether_type
   2) proto_type in case of IPV4 and IPV6 packets
   3) src port and dst port in case of TCP/UDP

Change-Id: I1578aa5322af50f0ae43248c48a2f754ea081970
CRs-Fixed: 1043939
2016-08-17 17:06:38 -07:00
Himanshu Agarwal
f951500494 qcacld-3.0: Change print type from %d to %u for unsigned variables
Propagation from qcacld-2.0 to qcacld-3.0.

Change print type from %d to %u for the unsigned variables in
wma_wow_dump_mgmt_buffer and wma_wow_parse_data_pkt_buffer.

Change-Id: I2ea9ae2aa5c6f1bbec65b724de35a0071ea26804
CRs-Fixed: 1038593
2016-08-17 17:06:35 -07:00
Himanshu Agarwal
dd356df33d qcacld-3.0: Dump header info for first mgmt. packet after WOW wakeup
Propagation from qcacld-2.0 to qcacld-3.0.

Dump soem information such as source MAC address, destination
MAC address, sequence number, packet type, subtype and other
important information for the first mgmt. packet after WOW wakeup.

Change-Id: I4f39d93e8aeb243ec3df5cc1a916aec0a1aa4819
CRs-Fixed: 1019037
2016-08-17 17:06:33 -07:00
Himanshu Agarwal
82de9040dd qcacld-3.0: Dump header info for first data packet after WOW wakeup
Propagation from qcacld-2.0 to qcacld-3.0.

Dump some information such as source MAC address, destination
MAC address, sequence number, packet type, subtype and other
important information for the first data packet after WOW wakeup.

Change-Id: I3c83991f56be34412f3f10adf58bd991ecb536ca
CRs-Fixed: 1019037
2016-08-17 17:06:31 -07:00
Nirav Shah
5e74bb81d5 qcacld-3.0: Parse tx packets only once in tx datapath
Classify tx packets at one place and store packet type in
skb cb structure to avoid multiple check to determine
packet type at various layers.

Change-Id: Id2ea9b08bdcbc62b1d96d983d19bcf71becc9c42
CRs-Fixed: 1022454
2016-08-17 17:06:28 -07:00
Nirav Shah
bd36b0690b qcacld-3.0: Changes to support different rx data path
Changes to configure different rx data path rx_thread,
RPS or NAPI through ini parameters. Also added support
for RPS mask setting using cnss-daemon.

CRs-fixed: 1026370
Change-Id: I23ab8fe0f05245b38cf4b37e93da8fd99d4c1f68
2016-08-17 17:06:26 -07:00
qcabuildsw
aedea909b4 Release 5.1.0.23L
Release 5.1.0.23L

Change-Id: I5d82962af91661bd6ab69a36784180e032e99211
CRs-Fixed: 688141
2016-08-17 11:21:48 -07:00
Arif Hussain
e69337b2ca qcacld-3.0: Update wma_get_channels as per the latest draft for 160MHz
as per the latest draft for BSS bandwidth 160MHz, channel frequency segment 2
represents the center channel frequency. Update wma_get_channels to use correct
segment to calculate center channel when operating in 160MHz.

Change-Id: I9a8f2035b590a90415fbc5a0a6608c48bbd5b2e5
CRs-Fixed: 1048793
2016-08-17 11:21:48 -07:00
Prakash Dhavali
6b561685d4 Release 5.1.0.23K
Release 5.1.0.23K

Change-Id: I1af1099fb2be6547036ffc2d60d841d4b4e51af6
CRs-Fixed: 688141
2016-08-17 11:21:48 -07:00
Ganesh Kondabattini
ff05066870 qcacld-3.0: free the memory for ch_list while unloading the driver
qcacld-2.0 to qcacld-3.0 propagation

If unloading the driver at the time __wlan_hdd_cfg80211_stop_ap is
called, free the memory allocated for ch_list before returing
from the __wlan_hdd_cfg80211_stop_ap. Otherwise it will result in
memory leak.

Change-Id: I16ab508f74068f7ca1452c97c6105a1ae6e38ef0
CRs-Fixed: 971886
2016-08-17 11:21:48 -07:00