mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 16:46:15 -04:00
qcacld-3.0: Fix crash in wlan_hdd_tdls_check_power_save_prohibited
qcacld-2.0 to qcacld-3.0 propagation Due to pre-emption there could be probability that tdls context is accessed in wlan_hdd_tdls_check_power_save_prohibited after it's released. This will result in kernel panic. Protect tdls context with mutex lock before accessing Change-Id: I33369320de5b0aadae661d7d27fbc5ba18e9e409 CRs-Fixed: 990645
This commit is contained in:
parent
bc950df65f
commit
b5cce8783e
1 changed files with 6 additions and 8 deletions
|
|
@ -2456,19 +2456,17 @@ void wlan_hdd_tdls_connection_callback(hdd_adapter_t *pAdapter)
|
|||
*/
|
||||
void wlan_hdd_tdls_disconnection_callback(hdd_adapter_t *pAdapter)
|
||||
{
|
||||
tdlsCtx_t *pHddTdlsCtx = WLAN_HDD_GET_TDLS_CTX_PTR(pAdapter);
|
||||
hdd_context_t *pHddCtx = WLAN_HDD_GET_CTX(pAdapter);
|
||||
|
||||
if ((NULL == pHddCtx) || (NULL == pHddTdlsCtx)) {
|
||||
QDF_TRACE(QDF_MODULE_ID_HDD, QDF_TRACE_LEVEL_ERROR,
|
||||
FL("pHddCtx or pHddTdlsCtx points to NULL"));
|
||||
return;
|
||||
}
|
||||
tdlsCtx_t *pHddTdlsCtx;
|
||||
hdd_context_t *pHddCtx;
|
||||
|
||||
hddLog(LOG1, "%s", __func__);
|
||||
|
||||
pHddCtx = WLAN_HDD_GET_CTX(pAdapter);
|
||||
if (0 != wlan_hdd_validate_context(pHddCtx))
|
||||
return;
|
||||
mutex_lock(&pHddCtx->tdls_lock);
|
||||
|
||||
pHddTdlsCtx = WLAN_HDD_GET_TDLS_CTX_PTR(pAdapter);
|
||||
if (NULL == pHddTdlsCtx) {
|
||||
mutex_unlock(&pHddCtx->tdls_lock);
|
||||
QDF_TRACE(QDF_MODULE_ID_HDD, QDF_TRACE_LEVEL_ERROR,
|
||||
|
|
|
|||
Loading…
Reference in a new issue