grant@torque.net
Thu, 17 Jun 1999 08:05:38 -0400 (EDT)
> I have finally gotten the 2.2.9 source tree up...and compiled...with the
> ppSCSI-9.90.patch.
Good.
> epst.1: Pseudo-interrupt timeout, bs=0 cb=6 db=1024 bu=1
This is the second report of this problem that I've seen.
Please try editing ppscsi.c as follows. Locate the following section
in the function ppsc_engine() :
phase = pha->proto->get_bus_status(pha);
if (pha->abort_flag)
PPSC_FAIL(DID_ABORT,"Command aborted");
if (pha->protocol_error)
PPSC_FAIL(DID_ERROR,"Adapter protocol failure");
if (!(phase & PPSC_REQ)) {
if (pha->timedout)
PPSC_FAIL(DID_TIME_OUT,"Pseudo-interrupt timeout");
ppsc_set_intr(pha,ppsc_engine,ppsc_ready,0);
return;
}
if (!(phase & PPSC_BSY))
PPSC_FAIL(DID_ERROR,"Unexpected bus free");
and replace it with
phase = pha->proto->get_bus_status(pha);
if (pha->abort_flag)
PPSC_FAIL(DID_ABORT,"Command aborted");
if (pha->protocol_error)
PPSC_FAIL(DID_ERROR,"Adapter protocol failure");
if (!(phase & PPSC_BSY)) {
if (pha->last_phase == PPSC_PH_STAT) {
if (V_DEBUG) printk("%s: No msg phase ?\n", pha->device);
pha->return_code |= (pha->status_byte & STATUS_MASK);
ppsc_cleanup(pha);
return;
}
PPSC_FAIL(DID_ERROR,"Unexpected bus free");
}
if (!(phase & PPSC_REQ)) {
if (pha->timedout)
PPSC_FAIL(DID_TIME_OUT,"Pseudo-interrupt timeout");
ppsc_set_intr(pha,ppsc_engine,ppsc_ready,0);
return;
}
It seems that some SCSI-2 disk drives omit the "message phase" in the
SCSI protocol, and ppscsi is getting confused.
--------------------------------------------------------------------------
Grant R. Guenther grant@torque.net
--------------------------------------------------------------------------
-- To unsubscribe, send mail to: linux-parport-request@torque.net --
-- with the single word "unsubscribe" in the body of the message. --
This archive was generated by hypermail 2.0b3 on Thu 17 Jun 1999 - 08:06:46 EDT