diff options
author | Alan Jenkins <alan-jenkins@tuffmail.co.uk> | 2009-08-28 12:56:35 +0000 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-08-28 15:21:11 -0400 |
commit | 1e7798547fe6920ae27fb92c9202353e9e4c55db (patch) | |
tree | 0e8672632daf6501eb879e4772ef44ddd1ef2162 /drivers/eisa | |
parent | 07e84aa98f6b3a7278d3267f6f657955ed3eb973 (diff) |
eeepc-laptop: fix ordering of init and exit functions
1. input and backlight devices were registered after acpi notifications
are enabled. This left a window where eeepc_hotk_notify() might
find these devices in an inconsistent (half-initialized) state.
-> Move all device registration into eeepc_hotk_add(), which is called
before enabling acpi notifications.
2. input and backlight devices were unregistered before acpi
notifications are disabled. This left a window where
eeepc_hotk_notify() might find these devices in an inconsistent
(half-destroyed) state.
-> Move all device unregistration into eeepc_hotk_remove(), which is
called after disabling acpi notifications.
3. The acpi driver was not freed if an error occured further down in
eeepc_laptop_init().
-> The rest of eeepc_laptop_init() has been moved to eeepc_hotk_add(),
so this is no longer a problem.
4. The acpi driver was unregistered before the platform driver. This
left a window where a sysfs access could attempt to read the ehotk
structure after it had been freed by eeepc_hotk_remove().
-> The acpi driver is now unregistered as the last step in
eeepc_laptop_exit(), so this is no longer a problem.
Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/eisa')
0 files changed, 0 insertions, 0 deletions