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