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
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
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
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
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
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
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
Proivde PLD wrapper APIs for getting SMMU mapping
context and mapping SMMU to a specific physical address.
Change-Id: I3feb61b26c839547e4d050f62963e64f5ca062a7
CRs-Fixed: 1057714
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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