mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
scsi: NCR5380: Handle BUS FREE during reselection
[ Upstream commit ca694afad7 ]
The X3T9.2 specification (draft) says, under "6.1.4.2 RESELECTION time-out
procedure", that a target may assert RST or go to BUS FREE phase if the
initiator does not respond within 200 us. Something like this has been
observed with AztecMonster II target. When it happens, all we can do is wait
for the target to try again.
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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
aa45f4ab86
commit
080b37aacd
@@ -2039,6 +2039,9 @@ static void NCR5380_reselect(struct Scsi_Host *instance)
|
||||
|
||||
if (NCR5380_poll_politely(hostdata,
|
||||
STATUS_REG, SR_REQ, SR_REQ, 2 * HZ) < 0) {
|
||||
if ((NCR5380_read(STATUS_REG) & (SR_BSY | SR_SEL)) == 0)
|
||||
/* BUS FREE phase */
|
||||
return;
|
||||
shost_printk(KERN_ERR, instance, "reselect: REQ timeout\n");
|
||||
do_abort(instance);
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user