Am 26.03.2014 00:36, schrieb Alexander Holler:
Am 25.03.2014 19:38, schrieb Alexander Holler:
reboot too. Another solution would be to unregister the reboot_notifier in the reboot_nofifier itself. I've just seen one watchdog driver (drivers/rtc/rtc-m41t80.c) which does that. But I still think such
That, btw. is broken. ;)
Right after having send the mail, I've became that intuition, had a look and ... notifier.h does state the following:
- atomic_notifier_chain_unregister(),
blocking_notifier_chain_unregister(),
- and srcu_notifier_chain_unregister() _must not_ be called from within
- the call chain.
(The reboot-notifier chain is of type blocking_notifier_chain)
So I've picked up one user of reboot_notifier by random and had the luck to choose a broken one. ;)
I will make a patch and will have a look if the same failure can be found elsewhere. There aren't that much users of the reboot-notifier, so it shouldn't cost me that much time.
Hmm, and either I was confused, or have looked at some other user of the reboot_notifier, but rtc-m41t80.c doesn't call unregister from it's notifier. And unfortunately there are a bit more users of the reboot_notifier than I first thought. :/
I will check if I can find out at least at which driver I had a look at which did call unregister_notifier from the notifier itself.
Regards,
Alexander Holler