freezer: don't unnecessarily set PF_NOFREEZE explicitly

Some drivers set PF_NOFREEZE in their kthread functions which is
completely unnecessary and racy - some part of freezer code doesn't
consider cases where PF_NOFREEZE is set asynchronous to freezer
operations.

In general, there's no reason to allow setting PF_NOFREEZE explicitly.
Remove them and change the documentation to note that setting
PF_NOFREEZE directly isn't allowed.

-v2: Dropped change to twl4030-irq.c as it no longer uses PF_NOFREEZE.

Signed-off-by: Tejun Heo <[email protected]>
Acked-by: "Gustavo F. Padovan" <[email protected]>
Acked-by: Samuel Ortiz <[email protected]>
Cc: Marcel Holtmann <[email protected]>
Cc: wwang <[email protected]>
This commit is contained in:
Tejun Heo 2011-11-21 12:32:22 -08:00
commit 3a7cbd50f7
4 changed files with 1 additions and 7 deletions

View file

@ -67,7 +67,7 @@ III. Which kernel threads are freezable?
Kernel threads are not freezable by default. However, a kernel thread may clear
PF_NOFREEZE for itself by calling set_freezable() (the resetting of PF_NOFREEZE
directly is strongly discouraged). From this point it is regarded as freezable
directly is not allowed). From this point it is regarded as freezable
and must call try_to_freeze() in a suitable place.
IV. Why do we do that?