Re: [RFC PATCH v3] acpi: indicate to platform when hot remove returns busy

From: joeyli
Date: Mon Jul 03 2017 - 05:35:09 EST


On Fri, Jun 30, 2017 at 01:49:07PM +0800, joeyli wrote:
> Hi Rafael,
>
> On Thu, Jun 29, 2017 at 12:13:18AM +0200, Rafael J. Wysocki wrote:
> > On Wednesday, June 21, 2017 03:45:44 PM Lee, Chun-Yi wrote:
> > > 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.
> > >
[...snip]
> > >
> > > @@ -423,9 +433,8 @@ void acpi_device_hotplug(struct acpi_device *adev, u32 src)
> > > else
> > > goto out;
> > > }
> > > - if (!error)
> > > - ost_code = ACPI_OST_SC_SUCCESS;
> >
> > I just would do:
> >
> > switch (error) {
> > case 0:
> > ost_code = ACPI_OST_SC_SUCCESS;
> > break;
> > case -EBUSY:
> > ost_code = ACPI_OST_SC_DEVICE_BUSY;
> > break;
> > default:
> > ost_code = ACPI_OST_SC_NON_SPECIFIC_FAILURE;
> > break;
> > }
> >
>
> Currently the above switch-case works. But if considering
> ACPI_OST_EC_OSPM_INSERTION in the future then it's not enough.
>

After more consideration...

Because Andy and Rafael gave the same suggestion and we didn't
see INSERTION event yet. I will follow the suggestion to send
v4 patch.

Thanks a lot!
Joey Lee