Currently there is no provision to decide delay between two roam
scans in firmware. With these new ini's, driver wants to expose
control to decide delay between roam scans:
Add ini "min_delay_btw_scans" to set minimum duration allowed between
two consecutive roam scans. Fw should not allow roam scan if duration
between two consecutive roam scan is less than min_delay_btw_scan.
Add ini "roam_trigger_reason_bitmask" to set default value of
bit-mask containing roam_trigger_reasons for which
min_delay_btw_scans constraints should be apply.
Change-Id: I2af9d5dc8e6919eeb90251d3d744e3f07705e776
CRs-Fixed: 2221779
Fix condition checked before programming user's requested chainmask to
firwmare. Get current firmware advertised phy cap for non-dbs phymode
and check if it supports all chains for tx/rx 2g and 5g.
Change-Id: I3fcef315f478403955ce400b3ba6d138a8006a01
CRs-Fixed: 2202544
DUT sent directed probe requests as malformed
packets during heart beat failure scenario.
Join request structure holds the additional scan IE buffer
which contains IE's sent as part of the join request.
During the join request processing this buffer is updated
by deleting the extended capabilities IE but the buffer length
variable is not updated accordingly which caused malformed
probe request.
After deleting the extended capabilities IE, additional
scan ie buffer length also updated accordingly.
Change-Id: I1129123e76dffe03ac409109dbee02caabf60efa
CRs-Fixed: 2224287
Tx context is holding on to reference to msdu, meanwhile Tx completion
freed the msdu, remove redundent qdf_nbuf_reset_num_frags(msdu)
Change-Id: I4c51f6e61c19147d2d4dafbd19bdfc3029a872ab
CRs-Fixed: 2222024
In hdd_driver_rxfilter_comand_handler(), when kstrtou8() fails to parse
the input string, the value of an uninitialized @type local is logged.
To avoid leaking stack memory, avoid logging the value of @type if the
parsing fails.
Change-Id: I46b21cdb138927b3edc406014450447c58a0d977
CRs-Fixed: 2221085
Register CSR scan requester when csr_start(), but didn't unregister it
when csr_stop(). It might run out scan requester buffer.
Change-Id: I95472027c927ae0c0bc1869338cffad6bbacf0ff
CRs-Fixed: 2222492
During the system reboot when the firmware goes offline before the
driver unload there is no way to detect whether the it is because
of the reboot or a assert in the firmware. So, the driver waits
for the firmware to recover before continuing with unloading
the device.
Since this is a reboot case the firmware will not respawn the
execution and host driver is struck.
To mitigate the issue register a reboot notifier with the kernel
and if reboot is triggered proceed with a fake unload.
Change-Id: I33d14c393930e9ee737d38ffdb26e921fb057f29
CRs-Fixed: 2211776
RxLDPC is disabled in wiphy 5g capability due
to which hostapd is failed to start in 5G channel
with RXLDPC enabled.
Read the RxLDPC capability value of 5G from
single MAC mode and update wiphy 5g band capability
structure to enable the RxLDPC.
Change-Id: Iec2b3674207d5f9ec13a40e110342d6b67ca391c
CRs-Fixed: 2215101
Currently hdd_display_stats_help() is a public function exported by
wlan_hdd_wext.h. But this function is only used internally within
wlan_hdd_wext.c, so remove the public prototype and instead make the
function static.
Change-Id: Iaed10720f0f325794481bbb7ad9f743deb6b7b15
CRs-Fixed: 2227013
A new data structure, qdf_flex_mem, was added to the common code repo.
Add qdf_flex_mem.o to the Kbuild.
Change-Id: If3ee8ad486578574d476d5ce77ce1ae9bb513d4e
CRs-Fixed: 2224551
wdi2.0 feature adds extra 2 bytes to frag_header and thus hdr_len
to IPA HW also adds 2 bytes. This change breaks pre-wdi2.0 platform
with WiFi FW discarding all TX traffic since packet payload is
with an extra 2-byte offset.
Fix is to add frag_header structure with pre-wdi2.0 pattern.
Change-Id: I467a05bab4111a305ae23250c61cecc050821611
CRs-Fixed: 2047714
Add new ini item "enable_ftopen" to enable/disable FT open
feature. There is no ini currently to disable only FT open.
Change-Id: I18280d9de77857b15698eb233ba4ec71089beb06
CRs-Fixed: 2214766
TPC IE, transmit power value reports zero in beacon when operating
as P2P-GO or SAP.
Fix is to populate appropriate value of tx power in TPC report.
Change-Id: Iae52d7bb6a94d167a6bc6f981d62be6f7c12e0c1
CRs-Fixed: 2224187
The routine wma_unified_debug_print_event_handler logs the data from debug
print event handler. The param event data from firmware is copied to a
destination buffer .If the maximum size of the data exceeds or equals
BIG_ENDIAN_MAX_DEBUG_BUF for big endian hosts then possible OOB write will
occur in wma_unified_debug_print_event_handler. For other hosts, OOB read
could occur if datalen exceeds maximum firmware message size
WMI_SVC_MAX_SIZE.
Add check to validate datalen doesnot exceed the maximum firmware msg size
WMI_SVC_MAX_SIZE. Return failure if it exceeds.
Add check to ensure datalen doesnot exceed or equal the maximum buffer
length value for big endian hosts BIG_ENDIAN_MAX_DEBUG_BUF.
Add null termination at the end of the data recieved from the firmware.
Change-Id: Ibb662cb8e17ef8be8b7591308c422a78b71e331a
CRs-Fixed: 2222533
Change "qcacld-3.0: Remove unused WLAN_FEATURE_RX_FULL_REORDER_OL
macro" (Change-Id I72e770874150cbac69e8efbb9e5dd7027a2e8869) removed
one reference to macro WLAN_FEATURE_RX_FULL_REORDER_OL but left one,
so now remove that one as well.
Change-Id: I64d4042b8f129cb6ef85057652cbf5c244891b8d
CRs-Fixed: 2226541
When SSR is in progress, WMI commands for peer and vdev deletion
will not be sent to FW. Do not wait for peer deletion for it will
always lead to timeout since peer delete command will not be sent.
And the check is not needed since vdev delete command will not be
sent, either.
Change-Id: Ib6f921a7c7ff09bf30ed19b443a30542db2b51a3
CRs-Fixed: 2217366
The refactored Kbuild has introduced build errors when the driver is
built using LLVM. The primary issue is that the pre-processing stage
introduces many checks that are not present when using GCC. To avoid
these issue include the conditional compilation macros in the
pre-processing stage.
Change-Id: I9b4a5b41523ae6e3055b4b9ae021322acade8a5f
CRs-Fixed: 2226196
The SoftAP VSTA feature was introduced to overcome a limitation in a
prior version of WLAN hardware. Since the WLAN hardware supported by
this driver does not have this limitation, remove the feature code.
Change-Id: I1f2fe31b294fb7b2da1fa8619b3380412c5d872e
CRs-Fixed: 2224817
There could be an abnormal situation occurs in IPA pipes suspend
process if HDD_IPA_AP_DISCONNECT event sent while WDI pipes are still
active.
Fix to send HDD_IPA_AP_DISCONNECT after all clients disconnected.
Change-Id: I7ad757834ec22384d07236363d135009a9710bee
CRs-Fixed: 2192239
Change "qcacmn: Propagate config parameters to datapath" (Change-Id
Icbdc835a51a6fea87c06174e9fc63d5d007aec1d in qca-wifi-host-cmn)
removed the only reference to macro WLAN_RX_HASH, so remove the macro
along with the controlling config item.
Change-Id: I2aab4184939f99b4966b2106ff4ca7666022ccbb
CRs-Fixed: 2224816
The driver supports a "SSR injection" feature that is used during
testing to validate certain recovery features. Currently this feature
is protected by a generic WLAN_DEBUG feature flag, and in addition
there are two separate debug ioctl handlers which have duplicate
code. In order to better support a finer level of configurability
introduce a new configuration flag and consolidate to a single
implementation of the feature under that flag.
Change-Id: I73e8dd4580ca53d129ae0181ffc46d011699f3dc
CRs-Fixed: 2224815
Change "qcacld-3.0: Remove obsolete PELOG* logging macros" (Change-Id
I018088db456871ed46c60957c4ef5d5af85d0457) removed some obsolete
macros. Now remove the Kbuild support that previously enabled those
macros.
Change-Id: Ie359440c725f614ea109fe95d90a43dd279ea8a9
CRs-Fixed: 2224814
As many as 5 vdevs can be created, which is defined by MAX_SME_SESSIONS.
But flow control pools are only valid for active TxRx capable vdevs.
Which is 3 active vdev starts. So attach flow pool creation to vdev_start
instead of vdev_attach.
Change-Id: I137676ba618aa3a6684c7d17ef7d9263c4df6efe
CRs-Fixed: 2179220
If hdd_wlan_stop_modules is called by hdd_iface_change_callback which
is invoke by a delayed worker, and a race condition happen that rmmod
call in during hdd_wlan_stop_modules, although cnss driver will
serialize wlan remove with the wlan shutdown invoked by delayed worker,
CNSS_DRIVER_UNLOADING still got set and wlan shutdown will invoke remove
wlan, which will try to sync cancel delayed worker and wait for each
other to deadlock.
If move qdf_cancel_delayed_work() from hdd_wlan_exit() to
__hdd_module_exit(), it will flush/wait in a different context of cnss
driver worker, so avoid deadlock hit.
Change-Id: I6bc58e8ae70291d5490560310e90abc52421b59f
CRs-Fixed: 2222381
Currently the switch -DWLAN_ENABLE_CHNL_MATRIX_RESTRICTION is inferred
by examining a seemingly unrelated configuration option. In order to
clearly separate setting the configuration from applying the
configuration create a new CONFIG_CHNL_MATRIX_RESTRICTION
configuration parameter.
Change-Id: I337d026ac0651e729d899058ee0e9d7e8256f018
CRs-Fixed: 2224813
Currently the switch -DCONFIG_TUFELLO_DUAL_FW_SUPPORT is inferred by
examining a seemingly unrelated configuration option. In order to
clearly separate setting the configuration from applying the
configuration create an explicit CONFIG_TUFELLO_DUAL_FW_SUPPORT
configuration parameter.
Change-Id: Id72259449c16aa81413c24a57cb1085110ff0223
CRs-Fixed: 2224812
Currently the switch -DCHANNEL_HOPPING_ALL_BANDS is inferred by
examining a seemingly unrelated configuration option. In order to
clearly separate setting the configuration from applying the
configuration create a new CONFIG_CHANNEL_HOPPING_ALL_BANDS
configuration parameter.
Change-Id: Icc9aef38445cdcd9269210b578b1e1be2fe18ac9
CRs-Fixed: 2224811
Currently the switch -DWLAN_LOGGING_SOCK_SVC_ENABLE is inferred by
examining a seemingly unrelated configuration option. In order to
clearly separate setting the configuration from applying the
configuration create a new CONFIG_WLAN_LOGGING_SOCK_SVC configuration
parameter.
Change-Id: Ic542512e3440453ef9f320297cf18f73f92fb2e3
CRs-Fixed: 2224810
Define a separate configuration option for legacy WiFi positioning and
use that option to set the associated ccflags macro.
Change-Id: I43cc04b3730687bf6298c66af7c42a9d6d9db80c
CRs-Fixed: 2224809
Define separate configuration options for the various Lithium
features and use those options to set the associated ccflags macros.
Change-Id: I08fee39c76963b102611b134346fe5edc95a0835
CRs-Fixed: 2224808
Define separate configuration options for the various Helium
features and use those options to set the associated ccflags macros.
Change-Id: Ia221aa3690ecbe37ac6568fa54876c77e338e2f6
CRs-Fixed: 2224807
Define separate configuration options for the various Adrastea
features and use those options to set the associated ccflags macros.
Change-Id: Ie418140dd21038ee3fd6eb3ecfd5d031bf1432ed
CRs-Fixed: 2224806
Add new ini item "ho_delay_for_rx" to set delay Hand-off
period. For LFR 3.0 roaming scenario, once roam candidate
is found, firmware waits for minimum this much duration
to receive pending rx frames from current BSS before
switching to new channel for handoff to new AP.
Change-Id: Ided9a81e9402259f5df6b42926b3fa336b6bb4d0
CRs-Fixed: 2221748
WMI cmds should be blocked, before calling HTC stop
to avoid the race condition in the system
Change-Id: I677c55cd96ea6af973595eec1e759641fbea109a
CRs-Fixed: 2193653
Define a separate configuration option for legacy TX flow control and
use that option to set the associated ccflags macro.
Change-Id: Id14ac79280d3bf809c1e85bde4d5c7037a3ea766
CRs-Fixed: 2224629