Andi Kleen wrote: > All the MOD_INC/DEC_USE_COUNT are done inside the modules themselves. There > is nothing that would a driver prevent from being unloaded on a different > CPU while it is already executing in ->open but has not yet executed the add > yet or after it has executed the _DEC but it is still running in module code > Normally the windows are pretty small, but very long running interrupt > on one CPU hitting exactly in the wrong moment can change that. Module unload calls unregister_netdev, which grabs rtnl_lock. dev->open runs under rtnl_lock. Given this, how can the driver be unloaded if dev->open is running? -- Jeff Garzik | Dinner is ready when Building 1024 | the smoke alarm goes off. MandrakeSoft | -/usr/games/fortune - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org