[alsa-devel] [PATCHi v6] ALSA: compress: fix drain calls blocking other compress functions

Vinod Koul vinod.koul at intel.com
Thu Nov 7 14:43:25 CET 2013


On Thu, Nov 07, 2013 at 10:23:09AM +0100, Takashi Iwai wrote:
> At Thu,  7 Nov 2013 12:57:30 +0530,
> Vinod Koul wrote:
> > 
> > The drain and drain_notify callback were blocked by low level driver untill the
> > draining was complete. Due to this being invoked with big fat mutex held, others
> > ops like reading timestamp, calling pause, drop were blocked.
> > 
> > So to fix this we add a new snd_compr_drain_notify() API. This would be required
> > to be invoked by low level driver when drain or partial drain has been completed
> > by the DSP. Thus we make the drain and partial_drain callback as non blocking
> > and driver returns immediately after notifying DSP.
> > The waiting is done while relasing the lock so that other ops can go ahead.
> > 
> > Signed-off-by: Vinod Koul <vinod.koul at intel.com>
> > CC: stable at vger.kernel.org
> 
> Thanks, I apply this.
> 
> Though...  I found that I already applied your earlier version
> accidentally, and pushed it out a few weeks ago.  If it were just a
> few commits, I'd rebase, but this was way too deep, so rebasing isn't
> good at all.
> 
> In the end, I applied the patch correcting to the final version.
> The downside would be that you'll get two stable commit
> notifications.  So, please beware of that.
> 
> Sorry for confusions!
Np, I will cherry-pick both.

Now i will send you bunch of trvial chnages in compressed core which I wanted to
send once this one was done

--
~Vinod


More information about the Alsa-devel mailing list