scsi: NCR5380: Handle BUS FREE during reselection
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>
This commit is contained in:
parent
08267216b3
commit
ca694afad7
|
@ -2047,6 +2047,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;
|
||||
|
|
Loading…
Reference in New Issue