scsi: NCR5380: Don't clear busy flag when abort fails
authorFinn Thain <fthain@telegraphics.com.au>
Thu, 27 Sep 2018 01:17:11 +0000 (11:17 +1000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Nov 2019 17:00:49 +0000 (18:00 +0100)
commitd0d7a75816be2fb2b70619c9542f5c0a9e70e058
treefa1758670af0b54718d0e8efd7e03998afdd5b5b
parent1975b27cad1a7d6b7ea475d43e7718da88837ca0
scsi: NCR5380: Don't clear busy flag when abort fails

[ Upstream commit 45ddc1b24806cc8f1a09f23dd4e7b6e4a8ae36e1 ]

When NCR5380_abort() returns FAILED, the driver forgets that the target is
still busy. Hence, further commands may be sent to the target, which may fail
during selection and produce the error message, "reselection after won
arbitration?". Prevent this by leaving the busy flag set when NCR5380_abort()
fails.

Tested-by: Michael Schmitz <schmitzmic@gmail.com>
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/NCR5380.c