Re: sym/ncr53c8xx phase error: Some progress

Gerard Roudier (groudier@club-internet.fr)
Tue, 11 May 1999 01:01:28 +0200 (MET DST)


On Mon, 10 May 1999, Shaw Carruthers wrote:

> I have just done a run with the patch you posted and it ran to completion
> without error. I verified the backup and it was perfect.
>
> Congratulations and many thanks! It looks good.

I have hesitated a bit after having sent you my minute idea. But indeed it
was the right one. The commands that destroy the file system are likely
the WRITE_10 or READ_10 that are wrongly presented as 6 bytes to the
driver by the SCSI code.

The driver will send CDB bytes 0..5, and then send CDB bytes 0..3 (to
complete the 10 bytes commands) since the driver will think that the disk
just wants to read again a 6 bytes command after byte 5 has been sent,
but the drive just wanted the next 4 bytes of the 10 bytes commands.

Result will be for sure:

Phase change 2-3 6@..... resid=2
And perhaps some large part of your file-sytem filled with absolute
garbage.

By the way, my fix just cures the problem and probably not what could be
called the cause, but the SCSI code should be inspected against this side
effect of cmd_len being spaghettily only filled if not zero in
scsi_do_cmd().

Gérard.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/