Messages in this thread | | | Date | Thu, 11 Oct 2012 14:40:34 +0900 | From | Yasuaki Ishimatsu <> | Subject | Re: acpi : acpi_bus_trim() stops removing devices when failing to remove the device |
| |
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 > > > >
| |