[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <53F78516.3040607@mageta.org>
Date: Fri, 22 Aug 2014 19:59:50 +0200
From: Benjamin Block <bebl@...eta.org>
To: "Rafael J. Wysocki" <rjw@...ysocki.net>,
Lan Tianyu <tianyu.lan@...el.com>
CC: lenb@...nel.org, davem@...emloft.net, linux-acpi@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ACPI: Run fixed button devices' notify callback in the
process context
On 08/22/2014 07:33 PM, Rafael J. Wysocki wrote:
> On Friday, August 22, 2014 03:37:55 PM Lan Tianyu wrote:
>> Currently fixed button devices' notify callbacks are running in the
>> interrupt context. It's not necessary and prevent calling functions
>> with mutex lock(E,G evaluating ACPI method). Otherwise, it's different
>> with non-fixed button device whose notify callback is running in the process
>> context. This patch is to make fixed button device's notify
>> callback in the process context and this also can avoid dead lock
>> when using netlink to report button event to user space.
>
> I guess this is the main reason for the patch?
>
> Is there a bug report regarding this?
>
There is: https://lkml.org/lkml/2014/8/21/606
>
>> Signed-off-by: Lan Tianyu <tianyu.lan@...el.com>
>> ---
>> drivers/acpi/scan.c | 9 +++++++--
>> 1 file changed, 7 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
>> index 0a817ad..bfb7fc5 100644
>> --- a/drivers/acpi/scan.c
>> +++ b/drivers/acpi/scan.c
>> @@ -922,12 +922,17 @@ static void acpi_device_notify(acpi_handle handle, u32 event, void *data)
>> device->driver->ops.notify(device, event);
>> }
>>
>> -static acpi_status acpi_device_notify_fixed(void *data)
>> +static void acpi_device_notify_fixed_run(void *data)
>> {
>> struct acpi_device *device = data;
>>
>> - /* Fixed hardware devices have no handles */
>> acpi_device_notify(NULL, ACPI_FIXED_HARDWARE_EVENT, device);
>> +}
>> +
>> +static acpi_status acpi_device_notify_fixed(void *data)
>> +{
>> + /* Fixed hardware devices have no handles */
>> + acpi_os_execute(OSL_NOTIFY_HANDLER, acpi_device_notify_fixed_run, data);
>> return AE_OK;
>> }
>>
>>
>
Download attachment "signature.asc" of type "application/pgp-signature" (649 bytes)
Powered by blists - more mailing lists