On Sun, Oct 5, 2008 at 8:45 AM, Elias Oltmanns <eo@xxxxxxxxxxxxxx> wrote: > "Bob Copeland" <me@xxxxxxxxxxxxxxx> wrote: > Well, I'm just not too sure about that. Please note that I'm not > concerned about user space interfering too early in the resume process, > which is indeed prevented by the freezer. It's rather that user space > may initiate iface shutdown immediately before tasks are frozen and due > to heavy load or other unfortunate circumstances the kernel doesn't get > round to serve the request before suspend. When the system rsumes, the > kernel completes the iface shutdown procedure by calling ath5k_init(). >From my reading of the code - kernel/power/process.c and kernel/power/main.c, all the processes on the run queue (except PF_NOFREEZE tasks) should be stopped before suspend_devices_and_enter is called, so even in your scenario, it shouldn't be rescheduled until thaw_processes() in suspend_finish() is called, at which point ->resume() has already happened. Nonetheless, I admit not being expert in this area, nor do I know if relying on the freezer is acceptable, so someone more clueful, please chime in. Anyway, I don't really have any strong feelings either way, so I can post an update that adds the reinit flag, then Jiri or Nick can take their pick :) I probably won't get around to it until tonight, so if you want to go ahead and prepare a patch, feel free. I think the boolean arguments to _init and _hw_stop should be symmetric though, so it's probably worth inverting the sense of the boolean passed to _hw_stop in my previous patch. -- Bob Copeland %% www.bobcopeland.com -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html