* [patch 09/11] bay: exit if notify handler cannot be installed
@ 2008-06-09 23:22 akpm
2008-06-09 23:28 ` Matthew Garrett
0 siblings, 1 reply; 5+ messages in thread
From: akpm @ 2008-06-09 23:22 UTC (permalink / raw)
To: lenb; +Cc: linux-acpi, akpm, hmacht, kristen.c.accardi, mjg59, rui.zhang,
trenn
From: Holger Macht <hmacht@suse.de>
If acpi_install_notify_handler() for a bay device fails, the bay driver is
superfluous. Most likely, another driver (like libata) is already caring
about this device anyway. Furthermore,
register_hotplug_dock_device(acpi_handle) from the dock driver must not be
called twice with the same handler. This would result in an endless loop
consuming 100% of CPU. So clean up and exit.
Signed-off-by: Holger Macht <hmacht@suse.de>
Cc: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Thomas Renninger <trenn@suse.de>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: Len Brown <lenb@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
drivers/acpi/bay.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff -puN drivers/acpi/bay.c~bay-exit-if-notify-handler-cannot-be-installed drivers/acpi/bay.c
--- a/drivers/acpi/bay.c~bay-exit-if-notify-handler-cannot-be-installed
+++ a/drivers/acpi/bay.c
@@ -301,16 +301,20 @@ static int bay_add(acpi_handle handle, i
*/
pdev->dev.uevent_suppress = 0;
- if (acpi_bay_add_fs(new_bay)) {
- platform_device_unregister(new_bay->pdev);
- goto bay_add_err;
- }
-
/* register for events on this device */
status = acpi_install_notify_handler(handle, ACPI_SYSTEM_NOTIFY,
bay_notify, new_bay);
if (ACPI_FAILURE(status)) {
- printk(KERN_ERR PREFIX "Error installing bay notify handler\n");
+ printk(KERN_INFO PREFIX "Error installing bay notify handler\n");
+ platform_device_unregister(new_bay->pdev);
+ goto bay_add_err;
+ }
+
+ if (acpi_bay_add_fs(new_bay)) {
+ acpi_remove_notify_handler(handle, ACPI_SYSTEM_NOTIFY,
+ bay_notify);
+ platform_device_unregister(new_bay->pdev);
+ goto bay_add_err;
}
/* if we are on a dock station, we should register for dock
_
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch 09/11] bay: exit if notify handler cannot be installed
2008-06-09 23:22 [patch 09/11] bay: exit if notify handler cannot be installed akpm
@ 2008-06-09 23:28 ` Matthew Garrett
2008-06-09 23:56 ` Andrew Morton
0 siblings, 1 reply; 5+ messages in thread
From: Matthew Garrett @ 2008-06-09 23:28 UTC (permalink / raw)
To: akpm; +Cc: lenb, linux-acpi, hmacht, kristen.c.accardi, rui.zhang, trenn
It looks like the plan is to subsume the bay driver into the dock
driver. I'm not sure if this is needed in the short term until then?
--
Matthew Garrett | mjg59@srcf.ucam.org
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch 09/11] bay: exit if notify handler cannot be installed
2008-06-09 23:28 ` Matthew Garrett
@ 2008-06-09 23:56 ` Andrew Morton
2008-06-10 8:13 ` Holger Macht
0 siblings, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2008-06-09 23:56 UTC (permalink / raw)
To: Matthew Garrett
Cc: lenb, linux-acpi, hmacht, kristen.c.accardi, rui.zhang, trenn
On Tue, 10 Jun 2008 00:28:17 +0100
Matthew Garrett <mjg59@srcf.ucam.org> wrote:
> It looks like the plan is to subsume the bay driver into the dock
> driver. I'm not sure if this is needed in the short term until then?
Dunno.
This patch appears to fix a bug, in which case we shouldn't allow
larger future plans to get int he way of that?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch 09/11] bay: exit if notify handler cannot be installed
2008-06-09 23:56 ` Andrew Morton
@ 2008-06-10 8:13 ` Holger Macht
2008-06-11 2:31 ` Shaohua Li
0 siblings, 1 reply; 5+ messages in thread
From: Holger Macht @ 2008-06-10 8:13 UTC (permalink / raw)
To: Andrew Morton
Cc: Matthew Garrett, lenb, linux-acpi, kristen.c.accardi, rui.zhang,
trenn
On Mon 09. Jun - 16:56:28, Andrew Morton wrote:
> On Tue, 10 Jun 2008 00:28:17 +0100
> Matthew Garrett <mjg59@srcf.ucam.org> wrote:
>
> > It looks like the plan is to subsume the bay driver into the dock
> > driver. I'm not sure if this is needed in the short term until then?
>
> Dunno.
>
> This patch appears to fix a bug, in which case we shouldn't allow
> larger future plans to get int he way of that?
Right. I don't think we get the bits sorted for removing the bay driver
for 2.6.26 IMHO, so this should go in as a bugfix for 2.6.26.
Regards,
Holger
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch 09/11] bay: exit if notify handler cannot be installed
2008-06-10 8:13 ` Holger Macht
@ 2008-06-11 2:31 ` Shaohua Li
0 siblings, 0 replies; 5+ messages in thread
From: Shaohua Li @ 2008-06-11 2:31 UTC (permalink / raw)
To: Holger Macht
Cc: Andrew Morton, Matthew Garrett, lenb, linux-acpi,
Accardi, Kristen C, Zhang, Rui, trenn
On Tue, 2008-06-10 at 16:13 +0800, Holger Macht wrote:
> On Mon 09. Jun - 16:56:28, Andrew Morton wrote:
> > On Tue, 10 Jun 2008 00:28:17 +0100
> > Matthew Garrett <mjg59@srcf.ucam.org> wrote:
> >
> > > It looks like the plan is to subsume the bay driver into the dock
> > > driver. I'm not sure if this is needed in the short term until
> then?
> >
> > Dunno.
> >
> > This patch appears to fix a bug, in which case we shouldn't allow
> > larger future plans to get int he way of that?
>
> Right. I don't think we get the bits sorted for removing the bay
> driver
> for 2.6.26 IMHO, so this should go in as a bugfix for 2.6.26.
agree, removing the bay driver isn't 2.6.26 staff.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-06-11 2:25 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-09 23:22 [patch 09/11] bay: exit if notify handler cannot be installed akpm
2008-06-09 23:28 ` Matthew Garrett
2008-06-09 23:56 ` Andrew Morton
2008-06-10 8:13 ` Holger Macht
2008-06-11 2:31 ` Shaohua Li
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox