lkml.org 
[lkml]   [1999]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: sym/ncr53c8xx phase error: Some progress


On Fri, 7 May 1999, Shaw Carruthers wrote:

> Looking at the source code of ncr53c8xx.c at line 7525 I see:
>
> #if 0
> case 3: /* STATUS phase */
> nxtdsp = NCB_SCRIPT_PHYS (np, dispatch);
> break;
> #endif
> case 6: /* MSG OUT phase */
> np->scripth->nxtdsp_go_on[0] = cpu_to_scr(dsp + 8);
> if (dsp == NCB_SCRIPT_PHYS (np, send_ident)) {
> cp->host_status = HS_BUSY;
> nxtdsp = NCB_SCRIPTH_PHYS (np, clratn_go_on);
> }
> else if (dsp == NCB_SCRIPTH_PHYS (np, send_wdtr) ||
> dsp == NCB_SCRIPTH_PHYS (np, send_sdtr)) {
> nxtdsp = NCB_SCRIPTH_PHYS (np, nego_bad_phase);
> }
> break;
> #if 0
> case 7: /* MSG IN phase */
> nxtdsp = NCB_SCRIPT_PHYS (np, clrack);
> break;
> #endif
>
>
> So code to handle these errors seems to be disabled. I tried enabling it
> but I still got the problem.

No, it is not.

The PHASE number is the _interrupted_ phase, so you should have read:

case 2: /* COMMAND phase */
nxtdsp = NCB_SCRIPT_PHYS (np, dispatch);
break;

If you want the driver to handle your problem as an unrecoverable error
and then reset the SCSI BUS, you just have to #if 0 'case 2'.

The driver resets if STATUS phase is interrupted (#ifed 0) because the
status is 1 byte long and this should only happen on SCSI parity error and
so should never happen since this error is handled separately.

For the MSG IN phase (also #ifded 0), this also should never happen
excepted on SCSI parity error, since the actual size of a message can be
guessed by the driver, based on the first message byte value and on the
message size transmitted by the target when the message is EXTENDED type.

So no phase mismatch without SCSI parity error should occur in
either STATUS phase or MESSAGE IN phase, and then resetting the
BUS if such situations is the better thing to do.

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/

\
 
 \ /
  Last update: 2005-03-22 13:51    [W:0.615 / U:0.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site