[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