Re: [PATCH] thinkpad-acpi: fix potential suspend blocking issue

From: Oleg Nesterov
Date: Tue Mar 05 2013 - 13:07:44 EST


On 03/05, Mandeep Singh Baines wrote:
>
> On Tue, Mar 5, 2013 at 9:48 AM, Oleg Nesterov <oleg@xxxxxxxxxx> wrote:
> > On 03/05, Mandeep Singh Baines wrote:
> >>
> >> @@ -2462,13 +2462,13 @@ static int hotkey_kthread(void *data)
> >> unsigned int poll_freq;
> >> bool was_frozen;
> >>
> >> + set_freezable();
> >> +
> >> mutex_lock(&hotkey_thread_mutex);
> >>
> >> if (tpacpi_lifecycle == TPACPI_LIFE_EXITING)
> >> goto exit;
> >>
> >> - set_freezable();
> >> -
> >
> > I don't understand this code... but don't we have the same problem
> > with kthread_freezable_should_stop() below? It can call __refrigerator()
> > too under the same lock.
> >
>
> I don't think the lock is held at that point. There is an unlock right
> before entering the while loop and at the bottom of the loop.

Hmm... Afaics this is another lock, hotkey_thread_data_mutex. But
hotkey_thread_mutex is still held.

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/