Re: [PATCH v2] iio: trigger: warn about non-registered iio trigger getting attempt
From: Dmitry Rokosov
Date: Tue Jun 07 2022 - 12:54:53 EST
Hello Andy,
Thank you for the quick reply.
On Mon, Jun 06, 2022 at 02:42:18PM +0200, Andy Shevchenko wrote:
> On Mon, Jun 6, 2022 at 1:23 PM Dmitry Rokosov <DDRokosov@xxxxxxxxxxxxxx> wrote:
> >
> > As a part of patch series about wrong trigger register() and get()
> > calls order in the some IIO drivers trigger initialization path:
> >
> > https://lore.kernel.org/all/20220524181150.9240-1-ddrokosov@xxxxxxxxxxxxxx/
> >
> > runtime WARN() is added to alarm IIO driver authors who make such
> > a mistake.
> >
> > When IIO driver allocates a new IIO trigger, it should register it before
>
> an IIO
>
> > calling the get() operation. In other words, each IIO driver must abide by
> > IIO trigger alloc()/register()/get() calls order.
>
> I believe triggers usually acquired at ->probe() time, means that in
> case if the following code (however, I believe it will be quite rare)
> goes into deferred probe cycle the WARN will be repeated. Perhaps
> WARN_ONCE() ?
You are totally right. I've tested deferred probing using -EPROBE_DEFER
injection to probe() code path and WARN() was called each time. I'll fix
it in the v3 as you suggested.
--
Thank you,
Dmitry