Subject: Re: Stuff for 1.4...
To: Manuel Bouyer <firstname.lastname@example.org>
From: Perry E. Metzger <email@example.com>
Date: 04/11/1999 23:55:18
I distinctly remember other people running into this particular issue
before and in fact diagnosing the bug but no one did anything about it
-- check the mail archives for tech-net, port-i386 and
Manuel Bouyer <firstname.lastname@example.org> writes:
> [Summary: on a system with a 3c509B and pciide, at reboot, after the
> 'syncing disks' message, we get 'ep1: adapter failure (ffff)' and the system
> hang. This doesn't happen if we use wdc instead of pciide. Mason reported this
> first on 1.4_alpla, I've been able to reproduce it on a 1.3.3 system + pciide
> Wee, I got it on my system too. Unfortunably I can't do much hacking on
> it, it's our router (rigth now it possible because there's nobody else here,
> but I guess I'm going to sleep soon :).
> I tried a few thing: 'ifconfig ep1 down', changing the irq of the board from
> 7 to 5, without luck.
> This message is from epintr(), and I really don't know why it's getting
> such a bogus interrupt at this stage.
> I wonder if this can't happen when we run the shutdown hook
> epshutdown() (in elink3.c). It resets the board. At this point, if it
> gets an irq I guess registers will not be available. I wonder if it should
> run this a splhigh(), or call epdisable() between epstop() and
> ep_complete_cmd() in epshutdown().
> Could you try a few things here ? printf's in epshutdown() to track what he's
> doing, add a 'int s = splhigth()' at the begining of epshutdown() and 'splx(s)'
> at the end, and call 'epdisable(sc)' between epstop() and ep_complete_cmd().
> Now it's time to go to bed :)
> Manuel Bouyer, LIP6, Universite Paris VI. Manuel.Bouyer@lip6.fr