Messages in this thread Patch in this message | | | From | Linus Torvalds <> | Date | Wed, 25 Jul 2012 10:23:40 -0700 | Subject | Re: [RFC PATCH 00/13] firmware loader: introduce cache/uncache firmware |
| |
On Wed, Jul 25, 2012 at 5:35 AM, Ming Lei <ming.lei@canonical.com> wrote: > > The below patch should fix the problem above.
Actually, I think we could make this even simpler.
There's nothing wrong with saying "user mode is enabled" *just* before we unthaw things, if we also simply guarantee that there is no sleeping lock or similar that we might get caught on (causing a deadlock or other untimely waking) before we've actually thawed everything.
So *if* the only problem wrt the USB hub code comes from this area, then I think the solution might be as simple as just moving the "usermodehelper_enable()" up a few lines, with a comment. Something like the *untested* and whitespace-damaged thing below..
Rafael? Who has one of those isight things and has seen the warning to test?
Linus
--- diff --git a/kernel/power/process.c b/kernel/power/process.c index 19db29f67558..5bf50e488196 100644 --- a/kernel/power/process.c +++ b/kernel/power/process.c @@ -181,6 +181,12 @@ void thaw_processes(void) pm_freezing = false; pm_nosig_freezing = false;
+ /* + * User mode helper are available again (or will be, + * modulo scheduling) + */ + usermodehelper_enable(); + oom_killer_enable();
printk("Restarting tasks ... "); @@ -193,8 +199,6 @@ void thaw_processes(void) } while_each_thread(g, p); read_unlock(&tasklist_lock);
- usermodehelper_enable(); - schedule(); printk("done.\n"); }
| |