On Thu, 22 Jul 1999, D. Lance Robinson wrote:
> Gerard Roudier wrote:
> >
> > > 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.
> >
> > This test is just stupid and must be removed.
> > Could you check if removing it fixes the problem?
>
> I put in the code...
>
> if (scntl1 & ISCON && hsts != HS_SEL_TIMEOUT)
> goto reset_all;
Useless in my opinion. Removing the 2 lines is just fine. The involved
SCSI interrupts are:
- UNEXPECTED BUS FREE
- SELECTION TIMEOUT
- SCSI PARITY ERROR
For the first 2 first ones, a device may reconnect before the intr service
routine handles the interrupt. In fact I just missed that the SCSI core
was not stopped while the SCRIPTS processor was so, waiting for an
interrupt to be serviced (not sure this is clearly documented).
For the SCSI parity error, a test against ISCON is inside the scsi parity
interrupt handler and another one can be added if needed.
About the patch below, it should be fine, but NO_CONNECT is not the usual
abbreviation used to designate SELECTION TIMEOUT. Perhaps something
defined as DID_SEL_TIMEOUT and matching DID_NO_CONNECT would make driver
code more readable.
Regards,
G�rard.
> This seems to work perfectly well. You suggest taking it out altogether?
>
> ----MORE----------------
> Related to the SEL_TIMEOUT subject, Following is a patch that lets the
> upper drivers know about the select timeout. Is this patch correct usage
> of the DID_NO_CONNECT state?
>
> --- sym53c8xx.c.orig Thu Jul 22 14:03:04 1999
> +++ sym53c8xx.c Thu Jul 22 13:52:27 1999
> @@ -6465,8 +6465,14 @@
> */
> SetScsiResult(cmd, DID_OK, cp->scsi_status);
>
> - } else if ((cp->host_status == HS_SEL_TIMEOUT)
> - || (cp->host_status == HS_TIMEOUT)) {
> + } else if (cp->host_status == HS_SEL_TIMEOUT) {
> +
> + /*
> + ** No response
> + */
> + SetScsiResult(cmd, DID_NO_CONNECT, cp->scsi_status);
> +
> + } else if (cp->host_status == HS_TIMEOUT) {
>
> /*
> ** No response
>
>
> Thanks for your time, <>< Lance.
>
>
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]