In WMI/WMA, data from event buffer from FW is used without
sanity checks for upper limit in multiple places. This might
lead to a potential integer overflow further leading to buffer
corruption
Add upper bound checks for max limit of event buffer (1536)
in all affected places to prevent the potential integer
overflow
Change-Id: I30826bb69939bcf02ac850bd2d22ada4795b3c98
CRs-Fixed: 2091584
Currently wow pulse configuration happens in wlan_startup. After
phase 1 initialization iface timer may expire and send deinit
sequences to shut down features like wow. If an interface is opened
again, triggering of wow pulse without configuring it again will end
up in failures.
Move the wow pulse configuration in phase 2.
Change-Id: Ic9e9a4f7988159bac7b6bf93c5f982ef23e852cd
CRs-Fixed: 2075936
Remove unused APIs from PLD. These APIs are already replaced by
WLAN common utility APIs.
CRs-Fixed: 2093939
Change-Id: I187826e7433e93361e1e4d42c081cc2f31b661b3
Currently In wlan_hdd_add_hostapd_conf_vsie api after checking the
length of element, return is being done because of which it is skipping
the remaining elements.
To fix this issue, don't return after invalid length, instead process
the remaining elements.
Change-Id: I1b370bc30a4400aa4fd5fce5783741272c64386a
CRs-Fixed: 2087787
In pe_shutdown_notifier_cb, lim timers are deactivated
inside the loop. Fix is to invoke lim_deactivate_timers
before the for loop. Move Open system auth api to
lim_process_auth_frame.c
Change-Id: I0f3cc58b5e73d73ae1a2a28ea0ce042e6c926207
CRs-Fixed: 2094532
Currently hdd_wext_state_t defines field statusCode, but this
field is never referenced and hence is obsolete, so remove it.
Change-Id: I482999414078d02a23b3b6255b0270c28e332191
CRs-Fixed: 2094517
Currently hdd_wext_state_t defines field isESEConnection, but this
field is only written in one place and never read, hence it is
obsolete, so remove it.
Change-Id: Ia110a11ae968b28b2c74e5b77b4bcca21f69a78f
CRs-Fixed: 2094516
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_wapi_info_t typedef does
not meet any of those criteria, so replace it with a well named
struct.
Change-Id: I3f5d0faf689fac619643c78ca554bba3775bde04
CRs-Fixed: 2094514
The Linux Coding Style eschews the encoding of type information into
names, so rename struct beacon_data_s to align with that guidance. In
the process add an hdd_ prefix to avoid future namespace collisions.
Change-Id: Iae1cbbac2bee520ae305b027f68b5af1c4d94ea7
CRs-Fixed: 2093278
The cfg80211 get_station callback is not intended for use with
non-station device types. However, it is useful to expose aggregate
statistics for non-station type devices. Add support for returning
aggregate statistics when get_station is used with a soft access point
device.
Change-Id: I8ae32c307f241525a7d74467328d9d40dc805053
CRs-Fixed: 2077011
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The hdd_scaninfo_t typedef does not
meet any of those criteria, so replace it with a well named struct.
Change-Id: Ia61b1f525a02e21a29e512dcb4c3678b730e6bd6
CRs-Fixed: 2093812
Reduce log flooding in __hdd_tx_timeout. The single __hdd_tx_timeout
error log printed by TX_TIMEOUT_TRACE should be sufficient to
identify the error. The debugging effort should use the driver logs.
This will ease debugging of other subsystems in the case that
the root cause is a system instability.
Change-Id: Iee3ba3c7d8d7dcd72a3a71ea4f8e4ae8d3bc17b6
CRs-Fixed: 2092183
qcacld-2.0 to qcacld-3.0 propagation
The variables used for cached ssid and authentication type will be cleared
after disconnection, hence user will get incorrect info from vendor
event after disconnection.
Use separate variables to save last ssid and auth info.
This is to fix issues of change I5b64d9942a54d35eac0f08b4d8fbed9d1d66a504.
Change-Id: Icc1a5d53e33d650726905e50e4846b77b10cf4ee
CRs-Fixed: 2098560
Remove QCA_WIFI_NAPIER_EMULATION flag for
Mohave bringup and cleanup the
necessary code under the emulation flag.
Change-Id: I43fcadc7b5e8743b762526157a5a41c5caecebf1
CRs-Fixed: 2096674
Even if channel is restricted to 20Mhz in a country code, the device
connect in 40-80Mhz.
Fix this by checking the max bandwidth supported by the country code
while calculating the CB mode.
Change-Id: Ibbf538309191b25fe944062ea618033c818095da
CRs-Fixed: 2095247
When hdd_get_tx_resource is called, if free Tx desc is lower than low water
mark, vdev->os_q_paused will be set as 1 and WLAN_STOP_ALL_NETIF_QUEUE will
be triggered after a while. Before WLAN_STOP_ALL_NETIF_QUEUE is triggered,
if ol_tx_flow_ct_unpause_os_q is called, WLAN_WAKE_ALL_NETIF_QUEUE will be
triggered and vdev->os_q_paused will be set as 0. In such case There will
be no flow control unpaused forever.
Tx should be paused by flow control when Tx desc is lower than low water
mark, and unpaused when Tx desc is bigger than high water mark or Tx is
already paused by flow control.
Change-Id: Ib60139fd94a4fb88c92a7f8aaf886ae9d3ca4c75
CRs-Fixed: 2089149
qcacld-2.0 to qcacld-3.0 propagation
Allow device switch to a different channel if the current channel is
congested, using the 11h channel switch announcement.
Change-Id: I1766785017e43f17cc800039b383ee5dabcd6ea5
CRs-Fixed: 2082632
Currently there are no phyerror event handler either in cmn or cld code,
idea was to implement all DFS code in cmn code. Before enabling event
handler in cmn code need more testing on all the platform which are using
cmn project to make sure not to break radar detection. Until then add dummy
phyerror event handler in cld project. This is mainly to prevent crash due
to watchdog bark because of unhandled event console logs.
Change-Id: I37d652537dec9f6e2de7fd0abf56d4058697313e
CRs-Fixed: 2097256
Few OEMs want DBS to be disabled for connections while
keeping DBS scan enabled.
Few OEMs want advance DBS scan features to be disabled.
Provide different value to gDualMacFeatureDisable INI item
to achive the goal.
Change-Id: Iddf5df23575a2f907bb8dbd0c37e03ff4ebbdea8
CRs-Fixed: 2068779
Register host trigerred self recovery callback from cds such that
self recovery can be trigerred from everwhere.
Change-Id: I67f529dd1585cff2c444412321f54a0aedcf6b97
CRs-Fixed: 2083092
Enable power offload unit test framework for napier emualtion and
SoD builds such that FW low power paging requirement can be profiled.
Change-Id: I961cf7ebfbc529fd1243040aed5d124987ccaed0
CRs-Fixed: 2096444
Driver in FTM mode can operate even if the wlan interface isn't up.
If an user or an application tries to do IFF_UP and then IFF_DOWN
on the wlan0 interface, interface change timer kicks-in and starts
closing the modules. After which every command FTM commands
starts failing since the CDS modules are closed.
In order to mitigate don't run the interface change timer if
the driver mode is FTM.
Change-Id: I6b65a9956e33aeb619d2f1748f369c00ca75acab
CRs-Fixed: 2078323
On shutdown, there is a possibility of
protection_fields_reset_timer expiring after mc
thread is destroyed. This results in assert in
cds_linux_timer_callback.
Fix is to register pe shutdown notifier callback
to stop lim timers before destroying mc thread.
Change-Id: I6141b1f6fe93062cf96feb273e2ac943989f8df3
CRs-Fixed: 2083371
During con_mod_handler, cleanup of adapter is being done first
and then wlan modules are getting closed. Because of which NAPI poll is
still posting frames to a device/adapter which has been freed as part
of mode change handler, leading to a crash.
To address this issue first stop all wlan modules and then cleanup the
adapter.
Change-Id: I2fade59d1e4a27620cecadb91f69866e79c85612
CRs-Fixed: 2092132