qcacld-3.0: Fix vdev ref leak in P2P-GO during SSR
If P2P-GO is active and SSR happens the vdev ref coount taken by sap_ctx is not released and this lead to ref count leak. To fix this release vdev ref count for sap_ctx in hdd_reset_all_adapters(). Change-Id: Id35247a917f3e0c3e163ea00a7a850cdf28ddd80 CRs-Fixed: 2410121
Este cometimento está contido em:

cometido por
nshrivas

ascendente
060df6ed91
cometimento
8f4aa18225
@@ -1303,6 +1303,14 @@ uint32_t wlansap_get_chan_width(struct sap_context *sap_ctx);
|
||||
*/
|
||||
QDF_STATUS wlansap_set_invalid_session(struct sap_context *sap_ctx);
|
||||
|
||||
/*
|
||||
* wlansap_set_invalid_session() - Release vdev ref taken by sap context
|
||||
* @sap_ctx: pointer to the SAP context
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS wlansap_release_vdev_ref(struct sap_context *sap_ctx);
|
||||
|
||||
/**
|
||||
* sap_get_cac_dur_dfs_region() - get cac duration and dfs region.
|
||||
* @sap_ctxt: sap context
|
||||
|
@@ -2441,13 +2441,24 @@ QDF_STATUS wlansap_set_invalid_session(struct sap_context *sap_ctx)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
sap_release_vdev_ref(sap_ctx);
|
||||
|
||||
sap_ctx->sessionId = CSR_SESSION_ID_INVALID;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS wlansap_release_vdev_ref(struct sap_context *sap_ctx)
|
||||
{
|
||||
if (!sap_ctx) {
|
||||
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_ERROR,
|
||||
FL("Invalid SAP pointer"));
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
sap_release_vdev_ref(sap_ctx);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
void wlansap_cleanup_cac_timer(struct sap_context *sap_ctx)
|
||||
{
|
||||
struct mac_context *mac;
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador