qcacmn: Fix uninitialized access to rx desc pool lock

Add a check to prevent access to a uninitialized lock.
This occurs on the failure path of pdev attach.

Change-Id: I8be9d7c97095a3ba96b6d1a8599ee2412eb8f5d6
CRs-Fixed: 2099448
This commit is contained in:
psimha 2017-08-25 16:10:13 -07:00 • committed by snandini
commit eae1b41e33
3 changed files with 10 additions and 4 deletions

View file

@ -1401,8 +1401,10 @@ dp_rx_pdev_detach(struct dp_pdev *pdev)
rx_desc_pool = &soc->rx_desc_buf[pdev_id];
dp_rx_desc_pool_free(soc, pdev_id, rx_desc_pool);
qdf_spinlock_destroy(&soc->rx_desc_mutex[pdev_id]);
if (rx_desc_pool->pool_size != 0) {
dp_rx_desc_pool_free(soc, pdev_id, rx_desc_pool);
qdf_spinlock_destroy(&soc->rx_desc_mutex[pdev_id]);
}
return;
}

View file

@ -845,7 +845,9 @@ dp_rx_pdev_mon_buf_detach(struct dp_pdev *pdev) {
struct rx_desc_pool *rx_desc_pool;
rx_desc_pool = &soc->rx_desc_mon[pdev_id];
dp_rx_desc_pool_free(soc, pdev_id, rx_desc_pool);
if (rx_desc_pool->pool_size != 0) {
dp_rx_desc_pool_free(soc, pdev_id, rx_desc_pool);
}
return QDF_STATUS_SUCCESS;
}

View file

@ -386,7 +386,9 @@ dp_rx_pdev_mon_status_detach(struct dp_pdev *pdev)
struct rx_desc_pool *rx_desc_pool;
rx_desc_pool = &soc->rx_desc_status[pdev_id];
dp_rx_desc_pool_free(soc, pdev_id, rx_desc_pool);
if (rx_desc_pool->pool_size != 0) {
dp_rx_desc_pool_free(soc, pdev_id, rx_desc_pool);
}
return QDF_STATUS_SUCCESS;
}