[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5544B358.1060208@kernel.org>
Date: Sat, 02 May 2015 12:22:00 +0100
From: Jonathan Cameron <jic23@...nel.org>
To: Gabriele Mazzotta <gabriele.mzt@...il.com>
CC: knaack.h@....de, lars@...afoo.de, pmeerw@...erw.net,
marxin.liska@...il.com, marex@...x.de, rui.zhang@...el.com,
linux-kernel@...r.kernel.org, linux-iio@...r.kernel.org
Subject: Re: [PATCH] iio: acpi: Add ACPI0008 Ambient Light Sensor
On 01/05/15 17:12, Gabriele Mazzotta wrote:
> Hi,
>
> probably this is not completely related to this driver, but I
> noticed something while testing it.
>
> When I load acpi-als, /sys/bus/iio/devices/iio:device0/buffer/enable
> is 0. If I try to set it to 1, I get the following error:
> "Buffer not started: buffer parameter update failed (-22)"
>
> After I got the error, I can successfully toggle "enable".
>
> What I found is that the first time iio_request_update_kfifo() is
> called, __iio_allocate_kfifo() gets called. Since bytes_per_datum
> is 0 (as set iio_compute_scan_bytes()), it returns -EINVAL and so
> does iio_request_update_kfifo(), causing the error above.
>
> Subsequent calls of iio_request_update_kfifo() will return 0 as
> update_needed is false, so "enable" can be toggled with no errors.
>
> Isn't there something wrong here?
Definitely looks like it!
Thanks for pointing this out. Anyhow, the issue is exactly what you've
identified; the line below the __iio_allocate_kfifo clears the
update needed whether or not it succeeded. Clearly it should not
be doing that if a failure has occurred.
Would you mind submitting a fix patch for this?
Simply checking ret before setting updateneeded to false
should do the job.
Thanks,
Jonathan
>
> Regards,
> Gabriele
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists