Spotted this in a newsgroup...

-------- Original Message --------
Subject: aic7xxx and AIC-7892/9 /Ultra160)
Date: Thu, 23 Mar 2000 10:45:25 +0100
From: Josef Moellers <[EMAIL PROTECTED]>
Organization: Changes ever so often
Newsgroups: comp.os.linux.development.system

There is a problem with the current version of the sequencer code in
that it disables the SCSI subsystem too early at the end of the command
phase resulting in a violation of the low level SCSI protocol:

                +---------------+
REQ     --------+               +-------

                        +---+
ACK     ----------------+   +-----------

I discussed this with the original author of the aic7xxx driver for
FreeBSD, Justin Gibbs and he sent me the following patch:

--- aic7xxx.seq.org     Thu Mar 23 10:32:20 2000
+++ aic7xxx.seq Thu Mar 23 10:32:38 2000
@@ -729,6 +729,7 @@
                test    SSTAT0, SDONE jnz p_command_ultra2_dma_done;
                test    SSTAT1,PHASEMIS jz p_command_dma_loop;  /* ie.
underrun */
 p_command_ultra2_dma_done:
+               test    SCSISIGI, ACKI jnz .;
                and     DFCNTRL, ~HDMAEN;
                test    DFCNTRL, HDMAEN jnz .;
                and     DFCNTRL, ~SCSIEN;

This is in the 2.3.44 kernel (the latest I have access to) as well as
the 2.2.14 production kernel.

Josef
-- 
Josef M�llers
Fujitsu Siemens Computers
SHV Server DS 1

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to