--------------------------------
            BRAVO!!!!!!!!!!!!!!!!!!!!!!!!!!!
            --------------------------------

You seem ready to deal with ncr/sym drivers maintainance if I 
decide to give up the Linux project. :-)

The test against BUS connected was kind of check for safety, but indeed 
it is not that smart. Will study the situation and let you know.
For now, I am not sure if removing it is really safe.

Your bug tracking has been kind of perfection. Obviously, if a bug has 
to be stated, it is a driver bug. But, in normal situations, no SCSI 
interrupts should happen, so it cannot be stated as a serious bug.
If the driver recovers, then it is just usual "room for improvement", 
in my opinion. :-)

Regards,
   G�rard.

On Thu, 22 Jul 1999, D. Lance Robinson wrote:

> Gerard,
> 
> Here is what seems to be happening.
> 
>  1) Send Write command to device X, it disconnects.
>  2) Issue Test Test Unit Ready command to non-existant device Y.
>  3) This times out and goes into the interrupt service routine (isr).
>  4) The isr reads the status bits. Somehow the chip is enabled.
>  5) Device X reselects (before the isr is finished)
>  6) The isr thinks it is connected because of the error.
>  7) The isr does a reset.
>  8) More bad things happen.
> 
> NOTE:
> To test this theory, I changed ncr_recover_scsi_int() with the following
> code...
> 
>       if (scntl1 & ISCON) {
>               if (hsts==HS_SEL_TIMEOUT)
>                       printk( "SEL Timeout, but host is connected!?\n");
>               goto reset_all;
>       }
> 
> The message does get triggered.
> 
> Any clues on how to prevent the reconnect before the error handler has
> done its thing? Is this a chip bug?   NOTE: where the printk statement
> is, I tried to call ncr_complete() from there. That helped some, but the
> middle scsi layer showed some timeout messages.
> 
> <>< Lance.
> 
> 
> Gerard Roudier wrote:
> > 
> > On Wed, 21 Jul 1999, D. Lance Robinson wrote:
> > 
> > > Hi Gerard & others,
> > >
> > > Using a Symbios/LSI 53c895 chip and the sym53c8xx driver, I am trying to
> > > scan the bus for newly added devices using the
> > >
> > >    echo "scsi add-single-device 0 0 id 0 " >/proc/scsi/scsi
> > >
> > > technique. This generally works on an idle bus (doesn't always see a
> > > device), but bad things happen when there is activity on the bus when
> > > the 'add' command is issued. A bus reset get generated when a device
> > > reselects the bus. And this can happen several times when trying to
> > > 'add' (probe) a non-existant device.
> > >
> > > Here is a scenario of what is happening (with the help of a SCSI
> > > analyzer.)
> > 
> > Then I have the only option to trust you. ;-)
> > 
> > > 1) One or more commands get queued up in device X.
> > > 2) The 'add-single-device' command is issued for non-existant device Y.
> > > 3)   Exactly what happens now is a bit fuzzy
> > > 4) Device X reselects the host, and sends the 0x80 Identify message
> > > 5) The SCSI Bus is RESET.
> > > 6) Loops back to 4 for zero or more times
> > 
> > Strange, but probably quite uncommon and unusual situation. :)
> > Will be pleased to know if, at least, the thing does recover from the
> > problem.
> > 
> > > NOTE: I am using Seagate Barracuda devices (ST39102LC) and this is on a
> > > PowerPC system.
> > >
> > > Any ideas ?
> > 
> > Absolutely none.
> > 
> > The scenario that should happen should be that the initiator handles the
> > selection timeout procedure using compliant timings and that the target
> > that wants to reselect also uses compliant timings for detecting the BUS
> > free phase, then rearbitrating for the BUS and then reselecting and
> > sending its message.
> > Also, the controller SCSI core must latch the right number of the target
> > that reselected, etc..., etc..., etc...
> > 
> > I am interested in all the data you have on the problem (kernel messages,
> > SCSI traces, other informations)
> > 
> > Thanks for the report.
> > 
> > Regards,
> >    G�rard.
> > 
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> > the body of a message to [EMAIL PROTECTED]
> 
> 


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

Reply via email to