At Fri, 27 Oct 2006 11:23:30 +0200, Clemens Ladisch wrote: > > Takashi Iwai wrote: > > [...] > > Yes, there is a known ABBA deadlock between rtc and snd-timer. > > At least, we need to remove a spinlock in rtc.c. > > > > - spin_lock_irqsave(&rtc_task_lock, flags); > > if (rtc_callback != task) { > > - spin_unlock_irqrestore(&rtc_task_lock, flags); > > return -ENXIO; > > } > > - spin_unlock_irqrestore(&rtc_task_lock, flags); > > This lock is needed to protect rtc_callback against concurrent accesses > from other clients. Well, this isn't useful for protecting from other clients. rtc_control() is supposed to be called only from the client that already registered. In other case, it's simply a bug, and should be rather warned. > I've committed a patch that just moves the code out of the RTC callback > into a tasklet. Besides being 'proper' kernel programming technique, > this also works with earlier kernels. This looks like a good solution. I'll check whether still deadlock occurs. thanks, Takashi ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user