Commit 51071f08 authored by Saurav Kashyap's avatar Saurav Kashyap Committed by Martin K. Petersen
Browse files

scsi: qedf: Don't process stag work during unload and recovery



Stag work can cause issues during unload and recovery, hence don't process
it.

Signed-off-by: default avatarSaurav Kashyap <skashyap@marvell.com>
Signed-off-by: default avatarNilesh Javali <njavali@marvell.com>
Link: https://lore.kernel.org/r/20240515091101.18754-2-skashyap@marvell.com


Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 9fad9d56
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -3997,6 +3997,22 @@ void qedf_stag_change_work(struct work_struct *work)
	struct qedf_ctx *qedf =
	    container_of(work, struct qedf_ctx, stag_work.work);

	if (!qedf) {
		QEDF_ERR(&qedf->dbg_ctx, "qedf is NULL");
		return;
	}

	if (test_bit(QEDF_IN_RECOVERY, &qedf->flags)) {
		QEDF_ERR(&qedf->dbg_ctx,
			 "Already is in recovery, hence not calling software context reset.\n");
		return;
	}

	if (test_bit(QEDF_UNLOADING, &qedf->flags)) {
		QEDF_ERR(&qedf->dbg_ctx, "Driver unloading\n");
		return;
	}

	printk_ratelimited("[%s]:[%s:%d]:%d: Performing software context reset.",
			dev_name(&qedf->pdev->dev), __func__, __LINE__,
			qedf->dbg_ctx.host_no);