|
@@ -3603,18 +3603,23 @@ void wma_vdev_resp_timer(void *data)
|
|
|
if (wma_crash_on_fw_timeout(wma->fw_timeout_crash) == true) {
|
|
|
wma_trigger_recovery_assert_on_fw_timeout(
|
|
|
WMA_DELETE_BSS_REQ);
|
|
|
- return;
|
|
|
+ wma_cleanup_target_req_param(tgt_req);
|
|
|
+ goto free_tgt_req;
|
|
|
}
|
|
|
|
|
|
status = wma_remove_bss_peer(wma, pdev, tgt_req,
|
|
|
tgt_req->vdev_id, params);
|
|
|
- if (status != 0)
|
|
|
+ if (status != 0) {
|
|
|
+ wma_cleanup_target_req_param(tgt_req);
|
|
|
goto free_tgt_req;
|
|
|
+ }
|
|
|
|
|
|
if (wmi_service_enabled(
|
|
|
wma->wmi_handle,
|
|
|
- wmi_service_sync_delete_cmds))
|
|
|
+ wmi_service_sync_delete_cmds)) {
|
|
|
+ wma_cleanup_target_req_param(tgt_req);
|
|
|
goto free_tgt_req;
|
|
|
+ }
|
|
|
|
|
|
if (wma_send_vdev_down_to_fw(wma, tgt_req->vdev_id) !=
|
|
|
QDF_STATUS_SUCCESS) {
|