Messages in this thread | | | Date | Mon, 11 Jun 2001 12:05:03 -0400 | From | Jeff Garzik <> | Subject | Re: 3C905b partial lockup in 2.4.5-pre5 and up to 2.4.6-pre1 |
| |
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/
| |