On Tue, Apr 06, 2021 at 12:25:14PM -0700, Guenter Roeck wrote:
> On Wed, Mar 31, 2021 at 05:45:26PM +0300, Andy Shevchenko wrote:
> > Currently the platform_get_irq_optional() returns an error code even
> > if IRQ resource sumply has not been found. It prevents caller to be
> > error code agnostic in their error handling.
> > 
> > Now:
> >     ret = platform_get_irq_optional(...);
> >     if (ret != -ENXIO)
> >             return ret; // respect deferred probe
> >     if (ret > 0)
> >             ...we get an IRQ...
> > 
> > After proposed change:
> >     ret = platform_get_irq_optional(...);
> >     if (ret < 0)
> >             return ret;
> >     if (ret > 0)
> >             ...we get an IRQ...
> > 
> > Reported-by: Matthias Schiffer <matthias.schif...@ew.tq-group.com>
> > Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
> 
> This patch causes all my "sh" emulations to stall during boot with the
> following repeated error message.
> 
> sh-sci sh-sci.1: Can't allocate rx full IRQ
> 
> Reverting this patch fixes the problem (and the message is gone).
> Bisect log is attached.

I believe it reveals some "interesting" error handling there.
I'm going to propose a solution soon.

Thanks for the report!

-- 
With Best Regards,
Andy Shevchenko


Reply via email to