Currently, QCA_SETBAND_AUTO is backwards compatible, so it is set
to include only 2G and 5G bands. Update this to include 6G bands
as well. Also update the band capability INI to have the default
value 0 include 6G bands.
Change-Id: I98067c18e939ff4c1e7b1e778b020b44409b5b34
CRs-fixed: 2799883
In lim_send_he_caps_ie(), properly populate ppet info when
sending WMI_VDEV_SET_IE_CMDID.
Change-Id: Ia93b7da91dee6c4e4abe43266cf2b03c2b5b3eb8
CRs-Fixed: 2776768
If CNSS function pld_force_collect_target_dump() returns 0, this means
that FW is already asserted and should not call cds_force_assert_target().
Add an if check for pld_force_collect_target_dump() to only call
cds_force_assert_target() when it is not 0.
Change-Id: Ib784c1a406b93327942164a975994065149aed90
CRs-Fixed: 2799461
Add feature GENERIC_SHADOW_REGISTER_ACCESS_ENABLE to enable
shadow reg write for generic shadow registers.
This is enabled only for HSP.
Change-Id: I90302aa050baa9128313dbaf0c4ab57e426289b3
CRs-Fixed: 2794917
The MDID is not updated in RSO command. So FT roaming
failure happens.
Update the MDID in RSO commands.
Change-Id: Ie68b379ab29c063c90d8461d0be34fd09a105e3f
CRs-Fixed: 2795319
During SSR with the new changes the stop adapter would be invoked,
this would free the scan ie's and will not be able to configured
after the SSR.
Free the scan ie's as part of the uninit which would be called as
part of the netdev down.
Change-Id: I781eefbf0ae7a9e64bc6cb2ead98f45919587f64
CRs-Fixed: 2724670
Compiling connection mgr by gcc 9.3 will cause many implicit-fallthrough
compile errors.
Fix is to add keyword fallthrough to resolve such compile error.
Change-Id: I02fb3ff12d8cea81ce160b3aec1f590faf83a031
CRs-Fixed: 2798881
Wake lock stats vendor command attribute names
in the driver are different from the attribute
names in upstream qca-vendor.h.
Change the wake lock stats attributes name in driver.
Change-Id: If9dbd46482f2f65758ea90aebdd078c1a30d5bef
CRs-Fixed: 2789539
WMI send command WMI_PDEV_GET_TEMPERATURE_CMDID to FW without
checking whether WMI_SERVICE_THERM_THROT and Thermal Mitigation
is enable or disable.
To address this issue add a check whether WMI_SERVICE_THERM_THROT
and Thermal Mitigation is enable or disable.
Change-Id: I1485b2ba6ee64143c9b7d4c8c4a8feadddbaae59
CRs-Fixed: 2698143
1. NSS from FW is not reliable as it changes as per the environment
quality, so take static NSS for fetching max tx rate;
2. Fix the MCS index to 0 if it's invalid when fetching max tx rate;
3. Remove useless code in hdd_report_max_rates().
CRs-Fixed: 2777241
Change-Id: I065748b59feba6a61859fe58bb6429d96da50441
The 64-bit division in 32-bit architecture call 64-bit-by-64-bit
division routines "__aeabi_uldivmod", which is not defined for
the 32-bit architecture.
Follow exist solution and use do_div asm-generic library api for
division operation.
Change-Id: I056f729e6f7586d26428868abd71acfd7130fdd8
CRs-Fixed: 2796163
Add caller function name to cds_get_context() to log incase
of error. Hence calling functions can avoid logging in case if
cds_get_context() returns NULL. This reduces logging and
thereby memory foot print.
Change-Id: I2fce65c020ccd0e8545c38ca2528392ccfd3bd92
CRs-Fixed: 2795670
When sending WMI_VDEV_SET_IE_CMDID, do an intersection between
gChannelBondingMode24GHz and target capabilities for 40 MHz
channel width support and 20 MHz in 40 MHz HE PPDU in HE PHY
capabilities IE.
Change-Id: I9c2b3200f35fa6ffb11e5165cec64a23645241c3
CRs-Fixed: 2738040
Currently WCNSS_qcom_cfg.ini soft link is generated only when
GENER_ODM_IMAGE is not defined. However, the judgement made
based on GENER_ODM_IMAGE will cause a driver load failure on
talos_au.
With this enhancement, WCNSS_qcom_cfg.ini soft link will be
generated when:
1)GENERIC_ODM_IMAGE is not true, or
2)TARGET_BOARD_AUTO is true
Change-Id: Ia5f138761da12f2cd14a3c033bdb113d3b47e5fe
CRs-Fixed: 2776869
Add vendor cmd for ANI. and it will set WMI_PDEV_PARAM_ANI_ENABLE
and WMI_PDEV_PARAM_ANI_OFDM_LEVEL.
Change-Id: Id98ef42a99879a0ee435219f11fde8c00ad1f8a3
CRs-Fixed: 2780131
A htt message arrived after ipa context is freed as part of
deinitialization which was dereferenced by event handler
assigned to pdev->ipa_uc_op_cb, resulting in crash.
To fix this, cdp function is called during deinit to
deregister pdev->ipa_uc_op_cb and assign it NULL. Also, adding
NULL check in wlan_ipa_uc_op_cb. Also, registering ipa_uc_op_cb
after work is created so as to not hit condition where work is
scheduled before creation.
Change-Id: Ib79136b1122625079d8173a401dba5516126c621
CRs-Fixed: 2794663
Don't connect in HE mode if the AP operating in 2.4 GHz does not
support LDPC coding.
Also, some peers which operate on 2.4 ghz and don't support LDPC
coding, might satisfy the condtions which is used to force enable
ldpc coding bit. If this bit is set, the peer doesn't support ldpc,
it might fail to connect.
To fix this, force enable ldpc coding only when peer is operating
in 5/6 Ghz along with the already existing conditions.
Change-Id: I4b424833bbf845de17acc0907e1098c0a01b3ee5
CRs-Fixed: 2760506
Hardware filters are supported for STA and P2P client modes only.
It's not supported/configured for NDI mode but the
WMI_HW_DATA_FILTER_CMDID is sent to firmware with disable flag
to flush the filter. Avoid sending it for NDI vdev.
Change-Id: I34d87a4d00138386affcedecd20b7ccc90fbd05e
CRs-Fixed: 2795980
Change the default value of in CFG_REPORT_MAX_LINK_SPEED
to CFG_STATS_LINK_SPEED_REPORT_ACTUAL instead of
CFG_STATS_LINK_SPEED_REPORT_MAX_SCALED so that
gReportMaxLinkSpeed uses the default value as zero which
was previously 2.
Change-Id: I459c807b1738e21a28c5b51e2eeb6a4bccb78662
CRs-Fixed: 2787888
In the Rome IPA case, it need wlanhost side to
enble/disable intrabss by WMI_VDEV_PARAM_INTRA_BSS_FWD.
If set to 1, the ip data transfer between two wlan clients
should be:
wlan client1 -> wlan fw -> wlanhost -> wlan fw-> wlan client2.
If set to 0, the ip data transfer between two wlan cleints
should be:
wlan client1 -> wlan fw -> ipa -> wlan fw -> wlan clients2.
Change-Id: I105ddbdb58f2cd01bdf94521bd7934508889de5d
gOclCfg is no longer supported and is being overwritten by
FW init config. Thus, remove gOclCfg ini from code.
Change-Id: Idf4d5280043a47650a68dc2159c386d94b0be5e9
CRs-Fixed: 2791392
Currently, if the TDLS timer expires while the scheduler thread
is processing something(e.g., station vdev destroy), the handler
would be in wait queue and it gets called once the scheduler
thread is done with its current task(i.e., vdev deletion).
TDLS handler tries to use the vdev even it has just got freed,
which leads to use-after-free.
This happens because of the below,
1. vdev destroy notification has no knowledge of the TDLS timer
expiry as timer_stop is used to stop the timer.
2. vdev is passed to TDLS handler as part of registration.
Fix:
1. Use timer_stop_sync in vdev_destroy_notification to make
sure the handler is posted to scheduler thread if the timer
had expired.
2. Get the vdev in handler from psoc instead of passing it to
the timer handler. This can make sure the vdev is referred
only if it exists.
Change-Id: I186fd0d44b2364ebb375a8445dd1239368543e7b
CRs-Fixed: 2792020