Hi all,

I think there's a problem with the unregister_ata_idle_func function,
which is probably responsible for "event xxx not found" panics, like
the one in http://www.rockbox.org/tracker/task/8993

The problem is that ata_idle events are registered as one-shot events
which clear themselves once they've fired. A subsequent call to
unregister_ata_idle_func may fail the find the event (because it
cleared itself) and cause the panic.

Completely removing unregister_ata_idle_func is an option but may be
a bit too drastic. I can also see a potential problem if a plugin
registers an ata_idle callback and then gets unloaded leaving a
stray function pointer. An example of a plugin that could use the
ata_idle callback is the battery bench plugin.
Maybe the simplest way is just to remove the panic.

What do you think?

Kind regards,
Bertrik

Reply via email to