scsi: qedf: Send cleanup even for RRQ on timeout
authorSaurav Kashyap <skashyap@marvell.com>
Fri, 7 Aug 2020 11:06:53 +0000 (04:06 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 21 Aug 2020 01:41:51 +0000 (21:41 -0400)
Send cleanup even for RRQ on timeout.

Link: https://lore.kernel.org/r/20200807110656.19965-5-jhasan@marvell.com
Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
Signed-off-by: Javed Hasan <jhasan@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qedf/qedf_io.c

index acd9774..26d11cc 100644 (file)
@@ -85,13 +85,13 @@ static void qedf_cmd_timeout(struct work_struct *work)
                 */
                QEDF_ERR(&(qedf->dbg_ctx), "ELS timeout, xid=0x%x.\n",
                          io_req->xid);
+               qedf_initiate_cleanup(io_req, true);
                io_req->event = QEDF_IOREQ_EV_ELS_TMO;
                /* Call callback function to complete command */
                if (io_req->cb_func && io_req->cb_arg) {
                        io_req->cb_func(io_req->cb_arg);
                        io_req->cb_arg = NULL;
                }
-               qedf_initiate_cleanup(io_req, true);
                kref_put(&io_req->refcount, qedf_release_cmd);
                break;
        case QEDF_SEQ_CLEANUP: