Re: 3C905b partial lockup in 2.4.5-pre5 and up to 2.4.6-pre1

Jeff Garzik (jgarzik@mandrakesoft.com)
Mon, 11 Jun 2001 12:05:03 -0400


Andrew Morton wrote:
>
> Jeff Garzik wrote:
> >
> > "David S. Miller" wrote:
> > >
> > > Andrew Morton writes:
> > > > It'd need to be callable from interrupt context - otherwise
> > > > each device/driver which has link status change interrupts
> > > > will need to implement some form of interrupt->process context
> > > > trick.
> > >
> > > Well, we could make the netif_carrier_*() implementation do the
> > > "interrupt->process context" trick.
> > >
> > > Jamal can feel free to post what he has.
> >
> > If we have any problems with context we can always use schedule_task()
>
> Yep. With dev_hold() and dev_put() to avoid module removal
> races. One would also have to be sure that the right things
> happen if the interface is downed between the interrupt and
> execution of the schedule_task() callback.

Why not call MOD_INC_USE_COUNT and MOD_DEC_USE_COUNT? It makes it much
more obvious you are closing a race related to modules, and it goes away
when the module is built into the kernel.

(as a tangent, I have run into cases where it would be nice to always
have a module ref count, whether or not you were built into the kernel.
this would be ok with me...)

-- 
Jeff Garzik      | Andre the Giant has a posse.
Building 1024    |
MandrakeSoft     |
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/