Re: acpi : acpi_bus_trim() stops removing devices when failing to remove the device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Toshi,

2012/10/10 22:01, Toshi Kani wrote:
On Wed, 2012-10-10 at 10:07 +0900, Yasuaki Ishimatsu wrote:
  :
   	if (acpi_drv) {
   		if (acpi_drv->ops.notify)
   			acpi_device_remove_notify_handler(acpi_dev);

THIS CALL

-		if (acpi_drv->ops.remove)
-			acpi_drv->ops.remove(acpi_dev, acpi_dev->removal_type);
+		if (acpi_drv->ops.remove) {
+			ret = acpi_drv->ops.remove(acpi_dev,
+						   acpi_dev->removal_type);
+			if (ret)

Hi Yasuaki,

Shouldn't the notify handler be reinstalled here if it was removed by
the acpi_device_remove_notify_handler() above?

I do not reinstall the notify handler.
The function has not been removed on linux-3.6. And the patch is created
on linux-3.6. So the function remains in the patch.

Umm... I am not sure what you meant.  Let me clarify my comment.  When
acpi_drv->ops.remove() failed, I thought we would need to roll-back the
procedure done by the acpi_device_remove_notify_handler() call, which I
indicated as "THIS CALL" above.  So, in this error path, don't we need
something like below?

if (acpi_drv->ops.notify)
	acpi_device_install_notify_handler(acpi_dev)

I understood what you said.  I'll update it.

Thanks,
Yasuaki Ishimatsu


Thanks,
-Toshi






--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux