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-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html