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 t_multicast_add_list typedef
does not meet any of those criteria, so replace references to it with
a reference to the underlying struct.
Change-Id: Ic70b2e2c716963b0f267bae86961cbf973246b24
CRs-Fixed: 2119523
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 beacon_data_t typedef does not
meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: I2202f452549da705a315e89993f100617eb7e0e1
CRs-Fixed: 2119522
Cleanup the hdd_wlan_startup, presently lot of configuration
is written to firmware from the startup function which is not
correct with different driver models supported. Move the feature
initialization to hdd_features_init. Also in the probe failure
error path netdev notifier is not getting unregistered.
Leaving stale pointer with the kernel which can lead to a crash.
Unregister the netdevice during the probe failure and cleanup features.
Change-Id: If7fe7c4c0f97e4b4829551840643c4e525696c76
CRs-Fixed: 2090570
As part of the last interface down, driver starts the interface
change timer to close the modules of 15seconds, if there is no
request to use the interfaces from upper layer during this time
the timer expiers and closes modules. There can be SSR/PDR triggered in the
different context which during shutdown tries to call the
respective module notifiers which can be purged/freed
in the timer context.
Synchronize the interface change timer callback with the shutdown
using the interface change timer lock. Following steps are taken
to make sure one thread is completed before other thread starts
execution:
* Set the respective flag of recovery inprogress or fw_down
so that access to firmware is blocked.
* Take the interface change lock, so if the timer callback
is running it will complete the closing the modulkes,
or if the uevent gets the lock it completes the calling
notifiers and purges the same.
* Release the interface change lock.
Change-Id: I1d7f62cd0ce7268cc9a5bda2a72dae384b70a6e2
CRs-Fixed: 2100846
Implementation to change BmissFinalBcnt dynamically.
User can set totalBcnt using the new command
QCA_WLAN_VENDOR_ATTR_CONFIG_TOTAL_BMISS_CNT.
BmissFirstBcnt will retain its default value or from ini.
BmissFinalBcnt will be configured as (totalBcnt - BmissFirstBcnt).
Change-Id: Ie3c3895d48248d349400e755f07edc807e335b44
CRs-Fixed: 2081906
Presently SSR is not supported in the monitor mode, in the debug
builds the device enters bad state when the SSR is triggered
in the monitor mode.
Make changes to support SSR in monitor mode.
Change-Id: Iee88a0c1aca1b093607cea20ee1957be55a33598
CRs-Fixed: 2034240
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_tx_rx_stats_t typedef does
not meet any of those criteria, so replace references to it with a
reference to the underlying struct.
Change-Id: Ic3ff995d10e65f949ee069b134d9826583461b1e
CRs-Fixed: 2119524
During host invoked roaming, set WMI_ROAM_INVOKE_FLAG_NO_NULL_FRAME_TO_AP
flag so that FW will not send NULL data frame while doing transition to
same bssid.
CRs-Fixed: 2046964
Change-Id: I043c3d2431e4da5af36fb710bd36a520550abbd3
Add support to log ICMPv6 packets such as NS/NA, RS/RA and
ICMPv6 Req/Res in dp trace.
Change-Id: I20ba677db59044569516348cd11427fb820175a8
CRs-Fixed: 2075962
Presently, host driver is sending the exit power save
configuration request to firmware when an interface up comes
before iface_change_timer which is not required because firmware
is the master and decides to enter/exit imps.
To mitigate the issue, don't send the exit IMPS request to firmware
before interface change timer expires and re-configure the same
incase of loadonce-unload never in case of firmware is de-initialzied.
Change-Id: Ia47687cdcfc5a5fb7be1a8066e163c3248305bba
CRs-Fixed: 2002110
Shutdown the IPA WDI pipes on PDR event from ICNSS driver to
prevent the possibility of IPA diver invalid access of CE ring
registers.
Change-Id: I19da0c015ba229512f71d7016236b106d9d8ee43
CRs-Fixed: 2072920
Add net buff pop fail counter which helps to debug issues
related to scenario when RX ring fill count exceeds the fill
level.
Change-Id: I00f4a4e245e0732ef04518e4c1db95999edc6687
CRs-Fixed: 2106523
Best candidate at first connection is a mechanism
to select best possible candidate for making Wi-Fi
connection based on the scan results provided.
Driver use Scan results to calculate score for each
BSS and select the best candidate to connect.
This enhances the user experience by connection
to better AP, based on certain parameters.
Change-Id: I3f88fa8c67f4cf830f05faf2c1d3f3491eee9a72
CRs-Fixed: 2018585
Change the max value of gEnableRTSProfiles from 34 to 66 as firmware has
support for 66. Update the template describing the different values that
can be used for the profile.
Change-Id: I5a6a398c74804022075a06ca0e17858335064c5b
CRs-Fixed: 2116704
Change-id Iafd5666179d079c7bcc950277092cef3046356bf was added to remove
antenna sharing support from SAP and STA case but customer needs those
changes for SAP case only.
So bringing back changes for STA case.
CRs-Fixed: 2117829
Change-Id: I79f7c5ae1fd642f0b26170f066a5409638cdd873
In the function wma_roam_synch_event_handler, vdev_id is received from
the fw and is used to access member of the array wma->interfaces without
validating the max of the vdev_id received from the fw
Add check to make sure vdev_id is less than max_bssid before using it
Change-Id: I3b940e183ab66680891cb7351af4537b50afce1d
CRs-Fixed: 2114187
Add sanity check to ensure num_failure_info from FW does not cause
integer overflow while calculating alloc_len, as alloc_len is in
turn used to malloc which can lead to less than required memory
allocated in case of integer overflow of alloc_len
Change-Id: Iea93e879196e9cd43856a7dcc9204d2304f76c78
CRs-Fixed: 2114789
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 fw_log_info typedef does not
meet any of those criteria, so replace it with a struct.
Change-Id: I4ec73e046f2439c094cb6d05a99d883241c7fe20
CRs-Fixed: 2119521
Checkpatch is flagging the following issue:
ERROR:SPACING: space prohibited before that ',' (ctx:WxW)
+ REG_VARIABLE(CFG_MAX_AMSDU_NUM_NAME , WLAN_PARAM_Integer,
^
Remove the spurious space.
Change-Id: I60d78072cbaa6b24df14c623af35b99ef81606d5
CRs-Fixed: 2119500
It was observed that logs from some HDD functions were tagged with the
QDF module ID. Code analysis showed some HDD functions are using cds_*
logging APIs instead of hdd_* logging APIs. Replace the cds APIs with
the hdd APIs.
Change-Id: I38edb7b5491d0d2d1412b41d3ae6e129ebc4dbe0
CRs-Fixed: 2090970
Provide an interface to propagate the feature
specific config parameters to Lithium datapath.
Change-Id: I852b14cb04b1c2c01a697434bc5fe8b29dbfe9ea
CRs-Fixed: 2097229
While DUT is in SAP or GO mode, due to LTE antenna sharing mechanism,
DUT is associating in 2x1 chains to HT clients.
As per new requirement, remove dependency of number of chains on antenna
sharing. If HT client supports 2 chains, and due to DBS/LTE antenna
sharing SAP/GO drops down a chain then rate adaptation at peer takes
care of dropping down chains at peer side
Change-Id: Iafd5666179d079c7bcc950277092cef3046356bf
CRs-Fixed: 2108484
The limit off channel parameters were applied to all adapters
even though application sends this command on a particular
interface.
Maintain limit off channel parameters per interafce.
CRs-Fixed: 2103637
Change-Id: Ib768bfb61deac77ea2d67b7d6b6750a96bdc8902
Check multiple variables received from firmware used to calculate
buf_len to make sure that it does not exceed the max msg size, as
this buf_len is in turn used in malloc and can lead to less than
required memory allocated in case of integer overflow of buf_len
Change-Id: I2689873c2c5e63c83e5059563662c0c69dc659fc
CRs-Fixed: 2115112
A recent set of changes replaced all instances of pHddCtx in the
driver. But one subsequent change re-introduced the term (this was
subsequently fixed), and code under review is also attempting to
re-introduce the term. Put a mechanism in place to prevent this term
from being re-introduced.
Change-Id: I424045ec36678da3d3aa47029fbcdfd6140057a0
CRs-Fixed: 2118493
HDD context in gp_cds_context is not getting reset to null during
driver remove callback when hdd context is destroyed. Set HDD context
to null to avoid any use after free.
Change-Id: Ifbeaca139ed44f871266a11f4b9e973961e26cc8
CRs-Fixed: 2119187
Check for the validity of the number of channels passed in the
radio stats event received from firmware to ensure an integer
overflow does not happen.
Change-Id: Idf5738a40139aafad4de422965dc4ff3d0e53a32
CRs-Fixed: 2114426
Currently the legacy_osif_priv pointers in the Object Manager's pdev
and vdev objects are not populated. As a result it is not possible to
get the HDD object given an Object Manager object. Populate these
pointers to allow these lookups.
Change-Id: If5ee0c785d0496ee4f06f7d230fbcf6ba957b610
CRs-Fixed: 2119155
In order to support multiple nla_parse function signatures across
different kernel versions, a new hdd_nla_parse wrapper was introduced.
However, it is easy for propagations or new code to reintroduce
nla_parse. Redefine nla_parse to throw an error, to prevent the
function from being reintroduced into the code base.
Change-Id: I6e9b9cd60cee94dd9f94a067e7b9d964d60ae295
CRs-Fixed: 2116044
Check for the num_peers received from firmware and ensure an
integer overflow does not happen in wma_peer_info_event_handler.
Change-Id: I08cc98fc425d9905d0ca090cd42b73227e594772
CRs-Fixed: 2115366