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