public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* [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