Messages in this thread | | | Subject | Re: [PATCH] call drv->shutdown at rmmod | From | (Eric W. Biederman) | Date | 14 Aug 2003 10:26:47 -0600 |
| |
Patrick Mochel <mochel@osdl.org> writes:
> [ I'm curious as to why you didn't cc me in the first place.. ]
My apologies, I meant to. Somehow I got Pavel Macheck instead of Patrick Mochel. The names are only superficially similar but mistakes happen.
> > At the kexec BOF at OSDL there was some discussion on calling the > > device shutdown method at module remove time, in addition to calling > > it during reboot. The driver was the observation that the primary > > source of problems in booting linux from linux are drivers with bad > > or missing drv->shutdown() routines. The hope is this will increase > > the testing so people can get it right and kexec can become more > > useful. In addition to making normal reboots more reliable. > > > > The following patch is an implementation of that idea it calls drv->shutdown() > > > before calling drv->remove(). If drv->shutdown() is implemented. > > I like the idea behind the patch, but we shouldn't be calling it > unconditionally. We're bound to run into some suprises that could really > kill us this late in the 2.6 game. > > I do think it should go in, as long as there is a flag telling the core > whether or not to call shutdown for that particular device. I think it > could also be extended to include a power state, so the core could suspend > the device before removing the module.
Assuming the device driver can get a device out of the suspend state when the module is loaded. This has been one of the biggest problem areas with the e100 driver. It's init code cannot bring the device out of a low power state.
> The default would always be 'Do Nothing', but with a per-device sysfs > file, a developer/user/gui app could be used to set the policy from user > space.
Possibly. But this is getting complicated. And while I do support things being complicated enough to handle the problem this part of the API feels like it is excessively complicated. Which is why I was trying to simply it by always calling shutdown on a device before we remove it.
Eric - 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/
| |