qcacld-3.0: Avoid recovery trigger while recovering
Currently, cds_trigger_recovery is unconditional. Instead, avoid triggering recovery if recovery is already in progress. Change-Id: I5c77048701930591e0e520e07275e6f8631108a0 CRs-Fixed: 2070845
Esse commit está contido em:

commit de
Anjaneedevi Kapparapu

pai
f7ffe94567
commit
100201ecca
@@ -2504,21 +2504,11 @@ ol_txrx_peer_attach(struct cdp_vdev *pvdev, uint8_t *peer_mac_addr)
|
||||
rc = qdf_wait_single_event(&vdev->wait_delete_comp,
|
||||
PEER_DELETION_TIMEOUT);
|
||||
if (QDF_STATUS_SUCCESS != rc) {
|
||||
ol_txrx_err(
|
||||
"error waiting for peer(%d) deletion, status %d\n",
|
||||
vdev->wait_on_peer_id, (int) rc);
|
||||
if (cds_is_self_recovery_enabled())
|
||||
cds_trigger_recovery(false);
|
||||
else
|
||||
|
||||
/*
|
||||
* Add equivalent of following line when it
|
||||
* becomes available.
|
||||
* wma_peer_debug_dump();
|
||||
*/
|
||||
QDF_ASSERT(0);
|
||||
|
||||
ol_txrx_err("error waiting for peer(%d) deletion, status %d\n",
|
||||
vdev->wait_on_peer_id, (int) rc);
|
||||
cds_trigger_recovery();
|
||||
vdev->wait_on_peer_id = OL_TXRX_INVALID_LOCAL_PEER_ID;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
@@ -3407,19 +3397,7 @@ static QDF_STATUS ol_txrx_clear_peer(struct cdp_pdev *ppdev, uint8_t sta_id)
|
||||
void peer_unmap_timer_work_function(void *param)
|
||||
{
|
||||
WMA_LOGE("Enter: %s", __func__);
|
||||
/*
|
||||
* wma_peer_debug_dump() will be replaced with a new routine.
|
||||
* Add the equivalent of wma_peer_debug_dump() when available.
|
||||
*/
|
||||
if (cds_is_self_recovery_enabled()) {
|
||||
if (!cds_is_driver_recovering())
|
||||
cds_trigger_recovery(false);
|
||||
else
|
||||
WMA_LOGE("%s: Recovery is in progress, ignore!",
|
||||
__func__);
|
||||
} else {
|
||||
QDF_BUG(0);
|
||||
}
|
||||
cds_trigger_recovery();
|
||||
}
|
||||
|
||||
/**
|
||||
|
Referência em uma nova issue
Block a user