Re: sym/ncr53c8xx phase error: Some progress

Shaw Carruthers (shaw@shawc.demon.co.uk)
Fri, 7 May 1999 14:57:47 +0000 (/etc/localtime)


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.

After the phase change I get:

May 7 15:34:47 leaf kernel: attempt to access beyond end of device
May 7 15:34:47 leaf kernel: 08:06: rw=0, want=1334509569, limit=704907

as before

Presumably some descriptor tables for the device have been trashed. Is
this the real problem and is the phase error just a symptom?

-- 
Shaw Carruthers - shaw@shawc.demon.co.uk
London SW14 7JW UK
This is not a sig( with homage to Magritte).
  

- 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/