As a part of LL stats get NB operation, the driver sends the LL stats
req to the FW, waits for the response and sends back the stats in a
synchronous reply. All this happens as a part of one single NB
operation.
Within this operation, if an rmmod comes, there can be a possiblity
of a memory leak. In function hdd_link_layer_process_radio_stats, there
is a check to validate the hdd_context and return if the driver is
undergoing load/unload. As a part of the premature return, some memory
are not freed properly.
To resolve this, remove the validity check from the NB operation. The
operation itself comes with DSC synchronization and ensures that the
hdd_context remains valid atleast until the operation is complete. Thus
there is no need for the redundant check of validity of hdd_context,
which resolves the memory leak issue also.
Change-Id: Ieea755e83addac99659dbd6e0e5f160b86e6f9fa
CRs-Fixed: 2679081
As part of WEXT replacement, replace reassoc with a sysfs file.
file path: /sys/class/net/wlanxx/reassoc
where wlanxx is adapter name
example: echo 0 > reassoc
Change-Id: Ib4f3582bb8c164dd4f3ab739367520b9aeb0f5b9
CRs-Fixed: 2676629
As part of WEXT replacement, replace set_fw_mode_cfg with a sysfs file.
file path: /sys/kernel/wifi/set_fw_mode_cfg
example: echo 1 1 > set_fw_mode_cfg
Change-Id: I851df440f9eb5f73798deaf3b4d0f128f6925f26
CRs-Fixed: 2675570
Use wlan_reg_get_channel_state_for_freq API to get channel
state and identify 6Ghz channel as non-dfs channel.
Change-Id: Ib134a71c62e24324abc12e5a5b11a524e89de810
CRs-Fixed: 2681608
During HT channel width change, host updates secondary channel number
in "sw_target_freq" and not the primary channel frequency. LIM uses
sw_target_freq to update the CSR sessions frequency which become invalid
channel. During SAP start, as host uses this channel to check for SCC
switch, the invalid frequency lead to invalid channel structure getting
accessed.
Hence, during HT channel width change, update sLimChannelSwitchInfo's
sw_target_freq member with current operating frequency stored in
pe_session's curr_op_freq.
Change-Id: Ie7aaa2187d35dba74050263e1ebf6f72d106aa85
CRs-Fixed: 2680035
osif_psoc_sync_trans_start_wait is wrongly used in
Idceff767d62c1e81046a696cb58f70a897cbd074, which will block any
vdev operation which results in tethering failure and Tx packets
also won't be transmitted whenever ipa event is processed as
we have vdev check in hard transmit too.
Fix:
Don't call osif_psoc_sync_trans_start_wait when handle IPA
event, just check recoverying state.
Change-Id: Ibb5d94e0e22413fdd9dad294fc8da58eba8a700b
CRs-Fixed: 2680423
Add support to provide the channel weightage of
DFS channels so that the weight can be configured
and the user can control whether they are allowed
to be selected for the SAP.
Change-Id: I53a22a0059d56aa8fca66215fed1ed0588db7db5
CRs-Fixed: 2676919
The log signifying SAP failure was incorrectly printed.
Changed the logic to print those logs correctly
Change-Id: Ifc26b34f41c60a3ce50d9c7cfc4ecd0739853844
CRs-Fixed: 2680263
Fix return type for hdd_data_stall_process_event to match with
data_stall_detect_cb callback return type.
Change-Id: I6d81171f32df7a0e6e66d5651739463c422f4a9d
CRs-Fixed: 2674550
Currently we have two different cleanup approach for SSR. In case of
Adrastea hardware, cleanup can be done during the receipt of FW_DOWN
uevent while in case of HS/HSP it has to be defered to shutdown.
These two approaches are segregated by different branches and thus did
not need to coexist. But as part of future upgrades, a single component
would be used for both the hardware types.
To enable having both these paths, use the context of execution of the
pld_uevent as the differentiating agent. In case of interrupt context,
go with the deferred cleanup and in case of normal process context,
perform the cleanup in pld_uevent itself.
Change-Id: I554a10cdd99b17a6d3e059ebf7a157b0cddb6226
CRs-Fixed: 2669840
If DUT connected to a non-PMF AP in MBO/OCE enabled network, STA
should not initiate roaming due to BTM trigger.
Fix is to enable BTM offload to firmware only if a peer support
pmf in case of MBO/OCE connection.
Change-Id: Ifee077fed2630242e7dc93e6d1a3915e592d4285
CRs-Fixed: 2678005
Once gc connected on dfs channel, allow the scc sap start on the same
dfs channel with dfs master capability disabled in the driver if
sta_sap_scc_on_dfs_chan ini is set.
Change-Id: Ie1c3ad2850fb0bce3f19f8fbe4750e5a97f2be93
CRs-Fixed: 2666581
HE capabilities and HE operation IEs will be populated
in function sch_set_fixed_beacon_fields().
And duplicated one from additional IE need to be
stripped if any.
Change-Id: Ic5f508782ff23b3e99f433a31eee9df58c1c40a6
CRs-Fixed: 2666373
In runtime resuming, there is no necessary to start bw timer
if adapter is in non-assoc state.
If bw timer has been started in idle state, there will be no
match bw timer stop. In hdd_bus_bandwidth_deinit, it will consider
as abnormal.
Change-Id: Id36af395269ebf3a09429b2606dbd438f147f24f
CRs-Fixed: 2678835
Currently, there is a peer leak when SSR is triggered during SAE
authentication.
To avoid this,don't purge serialization commands from hdd_wlan_shutdown.
Change-Id: I05a646f2af9d31bda27bb74b8f58390d3bf09623
CRs-Fixed: 2678294
Add sanity check for MAC PHY capabilities pointer returned by
target_psoc_get_mac_phy_cap. This avoids illegal memory access when
returned pointer is not valid.
Change-Id: I2ee0cdb5945599a2ccf35db819555d0f7192ef9f
CRs-Fixed: 2668418
In case AP doesn't support PMF, if STA has PMF enabled bit set
in assoc req, some AP may reject the association.
Fix is to consider self PMF cap only if AP support PMF
Change-Id: I6317c653cb7c21beb852d73b8eb541d6582a3a26
CRs-Fixed: 2677988
gEnablePowerSaveOffload is confusing, so change it to
gAdvancedPowerSaveMode.
Value 0: Disable advanced power save
Value 1: Enable advanced power save
Change-Id: Ib5593ef31eedacdc232ffbad183974e2cd847e83
CRs-Fixed: 2676664
Fix return type for umac_stop_complete_cb to match with the return type of
sys_rsp_cb declaration.
Change-Id: I06c67bf04ead784054b62de25f127d805082c425
CRs-Fixed: 2674554
Currently mac context is validated in csr_get_peer_rssi_cb
but even in case of invalid mac context it is dereferenced.
Add a check to validate the mac context and gracefully
return in case of invalid address
Change-Id: I96181e7ecd7be1a18e644f9499137a42e6af6372
CRs-Fixed: 2673557
Host disables STA roaming if any active NDI connection is present using
"sta_disable_roam" ini.
If NDI connection comes first and then STA connects to AP, then host
enables STA roaming in the association completion of STA. If STA
disconnects, roam scan is triggered which adds glitch in NDI connection.
Hence enable STA roaming if there are no active NDI connections.
Change-Id: I9594d9acc2d5d2255bd8914f6d58f726e3695601
CRs-Fixed: 2670756
Enable DELIVERY_TO_STACK_STATUS_CHECK to check if return status
of deliver to stack function is a success. If not then drop the
nbufs and update the appropriate stat counters.
Change-Id: I0576016b66ada8696824855da1893ce0b18ee50e
CRs-Fixed: 2677414
Remove CFG_CFR_ALL from CFG_ALL and avoid duplicate definition, since
WIN needs it and add it to CFG_CONVERGED_ALL by another change.
Change-Id: I4fe82573d069a06bf130937a3e38d045bb80c695
CRs-Fixed: 2673162
Whenever there is a subsystem restart the sap is internally restarted
in the driver, whenever there is a failure during this sap restart
there could be a memory leak.
Fix is to free the beacon memory whenever the sap restart fails.
Change-Id: If329aacceef50124956bddc049ee8e55e880177d
CRs-Fixed: 2671251