lkml.org 
[lkml]   [2012]   [Oct]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 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
>
>
>
>




\
 
 \ /
  Last update: 2012-10-11 08:01    [W:0.158 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site