On Fri, 13 May 2011, Paul Parsons wrote: > apm_mutex is locked by a process (e.g. apm -s) at the start of > apm_ioctl() and remains locked while pm_suspend() is called. Any > subsequent process trying to ACK the suspend (e.g. apmd) is then blocked > at the start of apm_ioctl(), causing the suspend to be delayed for 5 > seconds in apm_suspend_notifier() while the ACK times out. In short, > ACKs don't work. > > The driver's data structures are sufficiently protected by assorted > locks. And pm_suspend() has its own mutex to prevent reentrancy. > Consequently there is no obvious requirement for apm_mutex, which > evolved from earlier BKL calls. So let's remove it. > > > Signed-off-by: Paul Parsons <lost.distance@xxxxxxxxx> > --- > This patch supersedes my previous "apm-emulation: Fix mutex race condition" patch; this patch fixes that earlier bug too. Looks good to me (and sorry for the delay). Thanks Paul, will apply. -- Jiri Kosina SUSE Labs _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm