Well, the sys_sync() that caused your original problem did exactly
that. It's the reason you get deadlocks, right?
I agree that in general the suspend process should not have to wait for
a userspace callback to complete. Indeed, there's no particular
reason that anything running during STR should have to wait for
something in userspace to complete. Given that fact, I don't see
anything wrong with freezing userspace when doing STR.
Alan Stern
-