qcacmn: Move mgmt descriptors per pdev for probe response throttling
In the current code, mgmt tx rx descriptors nubfs per pdev, which are in use when driver is unloaded, are tried to be freed in dispatcher_psoc_disable, by iterating through the pdevs which ideally should not be available. And in ideal conditions, there are no pdevs during psoc_disable, there was no attempt to free the nbuf of pdevs mgmt tx rx descriptors in use, which could have resulted in leaks but no assert. In some cases, by the time dispatcher_psoc_disable was called, and pdev count was non zero, we were seeing some issue accessing the pdev or pdev mgmt tx rx context and it was causing assert. The mgmt tx rx descriptors nubfs which are in use when the driver is unloaded, should be freed in dispcatcher pdev close and not in dispatcher psoc close. Change-Id: Ia6ac0b2ceeb017221153dab92bf014481eca2a5b CR's Fixed: 2187890
Cette révision appartient à :
@@ -1183,6 +1183,9 @@ QDF_STATUS dispatcher_pdev_open(struct wlan_objmgr_pdev *pdev)
|
||||
if (QDF_STATUS_SUCCESS != dispatcher_spectral_pdev_open(pdev))
|
||||
goto spectral_pdev_open_fail;
|
||||
|
||||
if (QDF_STATUS_SUCCESS != wlan_mgmt_txrx_pdev_open(pdev))
|
||||
goto out;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
spectral_pdev_open_fail:
|
||||
@@ -1199,6 +1202,8 @@ QDF_STATUS dispatcher_pdev_close(struct wlan_objmgr_pdev *pdev)
|
||||
|
||||
QDF_BUG(QDF_STATUS_SUCCESS == dispatcher_spectral_pdev_close(pdev));
|
||||
|
||||
QDF_BUG(QDF_STATUS_SUCCESS == wlan_mgmt_txrx_pdev_close(pdev));
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
EXPORT_SYMBOL(dispatcher_pdev_close);
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur