• Lee, Chun-Yi's avatar
    ACPI / scan: Indicate to platform when hot remove returns busy · d429e5c1
    Lee, Chun-Yi authored
    In hotplug logic, it always indicates non-specific failure to
    platform through _OST when handing ACPI hot-remove event failed. Then
    platform terminates the hot-remove process but it can not identify
    the reason.
    
    Base on current hot-remove code, there have two situations that it
    returns busy:
    
     - OSPM try to offline an individual device, but the device offline
       function returns "busy".
    
     - When the ejection event is applied to an "not offlined yet"
       container.  OSPM sends a kobject change event to userspace and
       returns "busy".
    
    Both of them will returns -EBUSY to ACPI device hotplug function.
    Then, the hotplug function indicates non-specific failure to platform
    just like for any other error, e.g. -ENODEV or -EIO.
    
    The benefit to the platform for identifying the OS "busy" state is
    that it can use a different approach to handle the "busy" instead of
    simply terminating the hot-remove operation for an unknown reason.
    For example, the platform can wait for a while and then re-trigger
    hot-remove.
    Signed-off-by: default avatar"Lee, Chun-Yi" <jlee@suse.com>
    Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
    [ rjw: Changelog massage ]
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    d429e5c1
scan.c 54.1 KB