Re: [PATCH] iio: acpi: Add ACPI0008 Ambient Light Sensor

From: Jonathan Cameron
Date: Sat May 02 2015 - 07:22:11 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/