qcacld-3.0: Remove validate context check in LL stats get NB ops

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 stats
are not returned to user space..

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.

Change-Id: I20cc85b715330a28bc077ca47a1721343bba7214
CRs-Fixed: 2714136
This commit is contained in:
Ashish Kumar Dhanotiya 2020-06-19 11:12:16 +05:30 committed by nshrivas
parent f911f58d87
commit 1130e58a67

View File

@ -753,11 +753,14 @@ hdd_link_layer_process_iface_stats(struct hdd_adapter *adapter,
{
struct sk_buff *vendor_event;
struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
int status;
status = wlan_hdd_validate_context(hdd_ctx);
if (0 != status)
return;
/*
* There is no need for wlan_hdd_validate_context here. This is a NB
* operation that will come with DSC synchronization. This ensures that
* no driver transition will take place as long as this operation is
* not complete. Thus the need to check validity of hdd_context is not
* required.
*/
/*
* Allocate a size of 4096 for the interface stats comprising