Commit Graph

2017 Commits

Author SHA1 Message Date
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