FAILED: patch "[PATCH] scsi: ufs: Improve SCSI abort handling further" failed to apply to 5.4-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 1fbaa02dfd05229312404aaef8bc9317b4ff8750 Mon Sep 17 00:00:00 2001
From: Bart Van Assche <[email protected]>
Date: Fri, 3 Dec 2021 15:19:46 -0800
Subject: [PATCH] scsi: ufs: Improve SCSI abort handling further
Release resources when aborting a command. Make sure that aborted commands are completed once by clearing the corresponding tag bit from hba->outstanding_reqs. This patch is an improved version of commit 3ff1f6b6ba6f ("scsi: ufs: core: Improve SCSI abort handling").
drivers/scsi/ufs/ufshcd.c +12 -0
@@ -6984,6 +6984,7 @@ static int ufshcd_abort(struct scsi_cmnd *cmd)struct ufshcd_lrb *lrbp = &hba->lrb[tag];unsigned long flags;int err =FAILED ; +bool outstanding;u32 reg;WARN_ONCE (tag <0 ,"Invalid tag %d\n" , tag);
@@ -7061,6 +7062,17 @@ static int ufshcd_abort(struct scsi_cmnd *cmd) goto release; } +/* +* Clear the corresponding bit from outstanding_reqs since the command +* has been aborted successfully. +*/ +spin_lock_irqsave (&hba->outstanding_lock, flags); + outstanding =__test_and_clear_bit (tag, &hba->outstanding_reqs); +spin_unlock_irqrestore (&hba->outstanding_lock, flags); + +if (outstanding) +ufshcd_release_scsi_cmd (hba, lrbp); + err =SUCCESS ; release: