qcacld-3.0: Delete peer when vdev start timeout

When failure status is received in vdev start response from FW,
host will call wma_remove_peer to delete peer.
However, this operation is not done in the timeout handler of vdev
start request and it will lead to peer leak when vdev start response
failed to be received from FW.
Add peer deletion in vdev start request timeout handler accordingly.

Change-Id: I419369d09be1bd4b7e19e45b11256190fd2ec267
CRs-Fixed: 2288937
This commit is contained in:
Min Liu 2018-08-03 17:10:28 +08:00 • committed by nshrivas
commit f2bc4850fa

View file

@ -3676,6 +3676,14 @@ void wma_vdev_resp_timer(void *data)
wma_trigger_recovery_assert_on_fw_timeout(
WMA_ADD_BSS_REQ);
} else {
peer = cdp_peer_find_by_addr(soc, pdev, params->bssId,
&peer_id);
if (peer)
wma_remove_peer(wma, params->bssId,
tgt_req->vdev_id, peer, false);
else
WMA_LOGE("%s: Failed to find peer", __func__);
wma_send_msg_high_priority(wma, WMA_ADD_BSS_RSP,
(void *)params, 0);
QDF_ASSERT(0);