2019-02-20 16:52:03

by Mathieu Othacehe

[permalink] [raw]
Subject: [PATCH v2] iio: trigger: Print an error if there is no available irq

If there are more trigger consumers than
CONFIG_IIO_CONSUMERS_PER_TRIGGER, iio_trigger_attach_poll_func will
silently fail. Add an error message to inform the user that
CONFIG_IIO_CONSUMERS_PER_TRIGGER limit might be exceeded.

Signed-off-by: Mathieu Othacehe <[email protected]>
---
drivers/iio/industrialio-trigger.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/iio/industrialio-trigger.c b/drivers/iio/industrialio-trigger.c
index ce66699c7fcc..e5b538379ed1 100644
--- a/drivers/iio/industrialio-trigger.c
+++ b/drivers/iio/industrialio-trigger.c
@@ -254,8 +254,11 @@ static int iio_trigger_attach_poll_func(struct iio_trigger *trig,

/* Get irq number */
pf->irq = iio_trigger_get_irq(trig);
- if (pf->irq < 0)
+ if (pf->irq < 0) {
+ pr_err("Could not find an available irq for trigger %s, CONFIG_IIO_CONSUMERS_PER_TRIGGER=%d limit might be exceeded\n",
+ trig->name, CONFIG_IIO_CONSUMERS_PER_TRIGGER);
goto out_put_module;
+ }

/* Request irq */
ret = request_threaded_irq(pf->irq, pf->h, pf->thread,
--
2.17.1



2019-02-20 16:57:09

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH v2] iio: trigger: Print an error if there is no available irq

On Wed, 20 Feb 2019 17:49:10 +0100
Mathieu Othacehe <[email protected]> wrote:

> If there are more trigger consumers than
> CONFIG_IIO_CONSUMERS_PER_TRIGGER, iio_trigger_attach_poll_func will
> silently fail. Add an error message to inform the user that
> CONFIG_IIO_CONSUMERS_PER_TRIGGER limit might be exceeded.
>
> Signed-off-by: Mathieu Othacehe <[email protected]>
Applied to the togreg branch of iio.git and pushed out as
testing for the autobuilders to play with it.

Thanks,

Jonathan

> ---
> drivers/iio/industrialio-trigger.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/industrialio-trigger.c b/drivers/iio/industrialio-trigger.c
> index ce66699c7fcc..e5b538379ed1 100644
> --- a/drivers/iio/industrialio-trigger.c
> +++ b/drivers/iio/industrialio-trigger.c
> @@ -254,8 +254,11 @@ static int iio_trigger_attach_poll_func(struct iio_trigger *trig,
>
> /* Get irq number */
> pf->irq = iio_trigger_get_irq(trig);
> - if (pf->irq < 0)
> + if (pf->irq < 0) {
> + pr_err("Could not find an available irq for trigger %s, CONFIG_IIO_CONSUMERS_PER_TRIGGER=%d limit might be exceeded\n",
> + trig->name, CONFIG_IIO_CONSUMERS_PER_TRIGGER);
> goto out_put_module;
> + }
>
> /* Request irq */
> ret = request_threaded_irq(pf->irq, pf->h, pf->thread,