[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231120161638.GJ32655@ediswmail.ad.cirrus.com>
Date: Mon, 20 Nov 2023 16:16:38 +0000
From: Charles Keepax <ckeepax@...nsource.cirrus.com>
To: Mark Brown <broonie@...nel.org>
CC: Maciej Strozek <mstrozek@...nsource.cirrus.com>,
James Schulman <james.schulman@...rus.com>,
David Rhodes <david.rhodes@...rus.com>,
"Liam Girdwood" <lgirdwood@...il.com>,
<alsa-devel@...a-project.org>, <patches@...nsource.cirrus.com>,
<linux-sound@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3] ASoC: cs43130: Allow driver to work without IRQ
connection
On Mon, Nov 20, 2023 at 03:54:14PM +0000, Mark Brown wrote:
> On Mon, Nov 20, 2023 at 03:46:26PM +0000, Maciej Strozek wrote:
> > W dniu 20/11/2023 o 14:40, Mark Brown pisze:
>
> > > > + } else {
> > > > + return 0;
> > > > + }
>
> > > Is it a bug to call this function without to_poll set to something
> > > known? This will just silently ignore it which seems wrong and is
> > > inconsitent with the handling in the interrupt case which will wait for
> > > the the completion to be signalled and report a timeout on error.
>
> > In interrupt case 0 means timeout (and calling function should expect 0 as
> > error/timeout), so the only inconsistency I see is in not waiting before
> > returning a timeout, but that would be needlessly wasting time?
> > Do you think adding a debug print or a comment would help here?
>
> It seems like a clear code bug if this is ever called with an unknown
> completion, I'd expect a WARN_ON_ONCE() there. The lack of a delay is
> potentially going to affect how any error handling works which doesn't
> feel ideal though the users look fine right now.
I guess perhaps another option might be to not stick so strictly
to the wait_for_completion_timeout API. This function could
return an -EINVAL here and a -ETIMEDOUT for a timeout then the
callers could be updated accordingly.
Thanks,
Charles
Powered by blists - more mailing lists