Re: [PATCH] ASoC: sti: sti_uniperif: Remove driver

From: Takashi Iwai
Date: Tue Mar 15 2022 - 10:34:52 EST


On Tue, 15 Mar 2022 14:15:20 +0100,
Arnaud POULIQUEN wrote:
>
> Hello,
>
>
> ST Restricted
>
> > -----Original Message-----
> > From: Takashi Iwai <tiwai@xxxxxxx>
> > Sent: mardi 15 mars 2022 11:28
> > To: Daniel Palmer <daniel@xxxxxxxx>
> > Cc: broonie@xxxxxxxxxx; tiwai@xxxxxxxx; Arnaud POULIQUEN
> > <arnaud.pouliquen@xxxxxx>; alsa-devel@xxxxxxxxxxxxxxxx; linux-
> > kernel@xxxxxxxxxxxxxxx
> > Subject: Re: [PATCH] ASoC: sti: sti_uniperif: Remove driver
> >
> > On Tue, 15 Mar 2022 10:13:19 +0100,
> > Daniel Palmer wrote:
> > >
> > > This driver seems to be in the "only good for attracting bot generated
> > > patches" phase of it's life.
> > >
> > > It doesn't seem like anyone actually tested the patches that have
> > > been applied in the last few years as uni_reader_irq_handler()
> > > had a dead lock added to it (it locks the stream, then calls
> > > snd_pcm_stop_xrun() which will also lock the stream).
> >
> > Mea culpa, that was an obvious deadlock I overlooked in the patch
> > series.
> >
> > > Seems best just to remove it.
> > >
> > > Signed-off-by: Daniel Palmer <daniel@xxxxxxxx>
> > > ---
> > > I've never used this driver, don't have the hardware etc.
> > > I just noticed that this looks broken when debugging my
> > > own driver that uses snd_pcm_stop_xrun() and was looking
> > > at other users to see if I was using it wrong and noticed
> > > this was the only place that locked the stream before
> > > calling snd_pcm_stop_xrun().
> > >
> > > There are probably some other bits of the driver that
> > > should be removed but I didn't look that hard.
> > >
> > > TL;DR; This driver seems broken, seems like nobody uses
> > > it. Maybe it should be deleted?
> >
> > Yeah, that looks dead.
> >
>
> The platform is still used for instance:
> https://lore.kernel.org/all/1d95209f-9cb4-47a3-2696-7a93df7cdc05@xxxxxxxxxxx/
>
> So please do not remove the driver

Ah, it's always good to see a vital sign!

> The issue has not been detected because it is related to an error that
> occurs only when we reach the limit of the platform, with application
> that stop the stream at same time.
> So almost no chance to occur.
>
> > OTOH, if anyone really wants to keep the stuff, please revert the
> > commit dc865fb9e7c2251c9585ff6a7bf185d499db13e4.
>
> Yes reverting the commit is one solution.
> The other is to clean-up the snd_pcm_stream_lock/ snd_pcm_stream_unlock in the
> Handler.

That would work, but maybe it's safer to keep that lock, as the state
change isn't protected by irq_lock but only implicitly by stream lock
in start/stop callbacks.


thanks,

Takashi