diff --git a/[refs] b/[refs] index 4fe941876115..b6e1e42916b8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5ece3eae4cdb968c269e0bc7e2c0e2b223552025 +refs/heads/master: 37ad8aca94a1da2112a7c56151390914e80d1113 diff --git a/trunk/kernel/freezer.c b/trunk/kernel/freezer.c index c3496c6a91b2..389549f0a94e 100644 --- a/trunk/kernel/freezer.c +++ b/trunk/kernel/freezer.c @@ -93,9 +93,10 @@ static void fake_signal_wake_up(struct task_struct *p) { unsigned long flags; - spin_lock_irqsave(&p->sighand->siglock, flags); - signal_wake_up(p, 0); - spin_unlock_irqrestore(&p->sighand->siglock, flags); + if (lock_task_sighand(p, &flags)) { + signal_wake_up(p, 0); + unlock_task_sighand(p, &flags); + } } /**