Merge "qcedev: ensure sequential req_done on error"

这个提交包含在:
qctecmdr
2023-01-27 11:50:36 -08:00
提交者 Gerrit - the friendly Code Review server
当前提交 703d2a9e9d

查看文件

@@ -315,8 +315,9 @@ static void req_done(unsigned long data)
areq = podev->active_command; areq = podev->active_command;
podev->active_command = NULL; podev->active_command = NULL;
if (areq && !areq->timed_out) { if (areq) {
complete(&areq->complete); if (!areq->timed_out)
complete(&areq->complete);
areq->state = QCEDEV_REQ_DONE; areq->state = QCEDEV_REQ_DONE;
} }
@@ -812,7 +813,7 @@ static int submit_req(struct qcedev_async_req *qcedev_areq,
pr_err("%s: error during manage timeout", __func__); pr_err("%s: error during manage timeout", __func__);
spin_unlock_irqrestore(&podev->lock, flags); spin_unlock_irqrestore(&podev->lock, flags);
tasklet_schedule(&podev->done_tasklet); req_done((unsigned long) podev);
if (qcedev_areq->offload_cipher_op_req.err != if (qcedev_areq->offload_cipher_op_req.err !=
QCEDEV_OFFLOAD_NO_ERROR) QCEDEV_OFFLOAD_NO_ERROR)
return 0; return 0;