cvs commit: src/sys/dev/re if_re.c
John Baldwin
jhb at FreeBSD.org
Thu Aug 18 17:16:55 GMT 2005
On Thursday 18 August 2005 10:29 am, Maxim Sobolev wrote:
> sobomax 2005-08-18 14:29:01 UTC
>
> FreeBSD src repository
>
> Modified files:
> sys/dev/re if_re.c
> Log:
> In re_shutdown() mark interface as down since otherwise we will panic if
> interrupt comes in later on, which can happen in some uncommon cases.
>
> Another possible fix is to call re_detach() instead of re_stop(), like
> ve(4) does, but I am not sure if the latter is really RTTD, so that stick
> with this one-liner for now.
>
> PR: kern/80005
> Approved by: silence on -arch, no reply from selected network gurus
The PR reports problems while the machine is running, not a panic during
shutdown. I couldn't get the PR database to load the PR with the panic from
vr(4) yesterday. It's very unclear why clearing IFF_UP makes any difference.
Ah, perhaps re_intr() should be fixed to check IFF_DRV_RUNNING rather than
IFF_UP? Then the re_stop() in re_shutdown() would be sufficient.
I also think that the change to vr(4) should be reverted (way too big of a
sledge hammer) and instead its interrupt handler can check IFF_DRV_RUNNING
and bail if it is clear as well.
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the cvs-src
mailing list