Currently, sta's adapter.rssi does not reset when disconnect
with the previous ap and for new connection there might be no
valid rssi so it will get 0 when hdd_get_station_statistics_cb
or hdd_get_rssi_cb is invoking. Then it uses the previous ap's
rssi for the new conneciton.
Per the code logic, it is ok to set adapter.rssi with 0 value.
Because it invokes hdd_get_rssi_snr_by_bssid to get the
rssi & snr when issue happens.
Change-Id: I737cfcf16d58501546f2fceab06ed1e5418e7b06
CRs-Fixed: 2199782
Since WLAN host driver is regulatory offload design,
regulatory notifier from CORE should always be ignored.
Change-Id: Iaf23bdd1606e84cb309101246088ce6d506aa78b
CRs-Fixed: 2215884
The driver contains considerable debris from the obsolete WOWL
messaging, so clean it up.
Change-Id: I432f7fc1567b0aa31a7be758c05f2213340baed0
CRs-Fixed: 2223859
While handling a multi-segment TSO packet, there is a race condition
where, if tx complete arrives fast enough, the un-sent TSO segments
may be lost forever and a previously sent segment would be attempted
to be sent over.
Fix the race condition. Dont use the segment after send to go to the
next one.
Change-Id: I4abd9d26f50c749141925894a8845cf82df4d222
CRs-Fixed: 2168778
Currently non-linear, non-tso TX data is not handled correctly,
only the non-tso, single linear data is supported. the frag paged
data in skb is missed while packet length for HW access
is entire packet length, HW DMA failed.
temporarily to linearize skb so that non-linear data could be TX
correctly.
Change-Id: Ic0f2b7a0b021ca190c870551a66181f50ae72c65
CRs-Fixed: 2180318
Suspend/Resume unit test IOCTLs and other unit test features are only
enabled in defconfig debug builds and always disabled in production
builds. Add CFG INI item to disable these test IOCTLs even in defconfig
build such that by default on all build combinations unit test IOCTLs
are always disabled.
Change-Id: I71a63d2b85800b630d7c18eb77a3cffddcd66fbb
CRs-Fixed: 2221874
Secondary bit map starts with color 32, So current color minus 31
will shift color bit beyond the expected position which is 0th,
Fix it by subtracting with 32 instead 31.
Change-Id: I7ede16faee129c42c71d490f653244398061a8b6
CRs-Fixed: 2222003
In sme_qos_del_ts_req, there is a chance that driver can access
del ts req pMsg even after free. In umac_send_mb_message_to_mac
driver frees pMsg if there is some failure. But driver still
tries to access pMsg in sme_qos_del_ts_req even if umac_send_mb_
message_to_mac returns failure.
Access pMsg only if umac_send_mb_message_to_mac returns success
to avoid this use after free issue.
Change-Id: I3638a38746b9cd917e01a7ff6f38430344e6e78d
CRs-Fixed: 2214718
The function wma_del_tdls_sta is used to process delete sta
request from UMAC in TDLS. peerStateParams is a pointer to the
structure tTdlsPeerStateParams. The memory allocated for
peerStateParams is freed in the call to the function
wma_update_tdls_peer_state(). When peerStateParams is used to
access vdev_id again after free, then a use after free case will
occur.
Retrieve the vdev_id value from the del_sta structure that is
passed into wma_del_tdls_sta initially.
Change-Id: Iad7edf87058bfc20aadc0e72d474b1c330790512
CRs-Fixed: 2216242
If connection is in progress and new connection req is
received from supplicant, hdd tries to disconnect the
current session and post force disassoc command and wait
for it to get completed. If the current ongoing connect
operation fails and this force disassoc is processed as
sme session is in disconnected state it is silently
dropped and thus there is no event sent to the HDD
to stop the wait for disconnect and HDD wait for 5
sec before returning connect failure.
Fix this by Calling disconnect handler if, disconnect
with force dissoc is called in disconnected state
Change-Id: I3a78308b54fb048fba5a6aed3d8e8b193c371647
CRs-Fixed: 2223313
There is a chance that kernel can trigger suspend while
connection in progress. If driver allows this suspend, this can
result in fw panic.
Specific scenario:
If driver allows suspend to go when it waits for probe response,
fw least expects suspend indication as fw is in vdev start state.
This unexpected suspend indication in vdev start state can cause
fw panic.
Hold wakelock till the completion of association to fix this issue.
Change-Id: I168ead2ab1ef4fff1d9af3f3142c82536c3f4798
CRs-Fixed: 2217140
qcacld-2.0 to qcacld-3.0 propagation
Discard the original wmi interface:
WMI_PEER_ANTDIV_INFO_REQ_CMDID/PEER_ANTDIV_INFO_EVENTID,
replace with the new one:
WMI_PDEV_DIV_GET_RSSI_ANTID_CMDID/WMI_PDEV_DIV_RSSI_ANTID_EVENTID
to support chain value along with corresponding antenna info.
Change-Id: Ie9ea9d160e1ac1e2e65de422c85989159fb5a556
CRs-Fixed: 2005820
When CLD3.2 driver is setting pdev burst mode to FW, 3
possible values are supported:
0: disabled
1: enabled for legacy burst
3: enabled for SIFS burst
but the iwpriv command handling code only supports setting
0 or 1 to FW.
Add value checking for WE_SET_BURST_ENABLE to support setting
3 to FW.
Change-Id: I35506b83d584f6e8d066adfc43df8dd03ce54661
CRs-Fixed: 2214992
When CONFIG_MOBILE_ROUTER feature is enabled, FEATURE_WLAN_TDLS is
turned off. As a result, compiler complains no prototype for
lim_disassoc_tdls_peers error.
Fix is to define lim_disassoc_tdls_peers as static inline when
FEATURE_WLAN_TDLS is not defined.
Change-Id: Idad1f7d2e27853307750fcc7ffbe7ab1e3504c3b
CRs-Fixed: 2215100
Currently Kbuild unconditionally sets -DHAL_SELF_STA_PER_BSS=1. There
is only one place where this macro is referenced, and it actually
requires that the macro be set for the driver to work. Since this
logic isn't really conditional, remove the conditional compilation.
Change-Id: I09a03339df086146b81b3012fb281e166fccd5da
CRs-Fixed: 2221852
Macro WLANTL_DEBUG is currently used to define some SAP debug
counters, but these counters are unused, so remove this obsolete code.
Change-Id: Ie7d976efcb5fb335b3f60a5af48a70dd214b3bd0
CRs-Fixed: 2220915
Currently a set of ANI_COMPILER_TYPE macros are checked against, but
other than that they serve no purpose. As part of ongoing Kbuild
cleanup remove these obsolete macros.
Change-Id: Ia112d7d5ae8d12eae46144b53addc8ad54393bba
CRs-Fixed: 2220285
The routine wma_extscan_change_results_event_handler sends the ext scan
results to upper layers. This contains the bssid info, rssi values of
different APs that are scanner. If the num_rssi_samples is negative or
greater than UINT32_MAX,then an OOB write could happen.
Add check to ensure rssi_num is not negative or exceeds UINT32_MAX.
Also make sure the numap value is not negative.
Change-Id: If82c4fd1193c45d38bd4495c187a406deb25acad
CRs-Fixed: 2205957
After SSR, FW clear its txrx connectivity stats.
In host, as adapter is intact, host connectivity
stats counts are still available. Now if the set
stats command is used again, then host increments
its counts start from its last saved value, i.e.,
count before SSR, and FW increments its count from 0.
This sends a mismatch of packet counts b/w
host and FW to framework that creates ambiquity.
To address the issue, reset the host counts so that after SSR
both FW and host start increment their counts from 0.
Change-Id: I11f849d6f00abe11f3bb8947cc81e47a3bc004fa
CRs-Fixed: 2202890