We are using the iio buffer to get some samples from the FPGA. A custom IP in the FPGA pulls the valid flag on the ADC DMA for the duration of a few samples (our frame size which is 14 bytes wide) and this is read in the software using the iio_buffer_refill.
Now if the signal quality is good all works perfectly fine. But if we drop the signal quality quite low (i.e. much less messages are coming through the DMA) and obviously the buffer times out. We can disable the timeout but we decided to just ignore it and see what happens. What we observed then was that the error code -16 comes up with the following message.
ERROR: Unable to enqueue block: Device or resource busy
What does this message mean in the contents of the iio_buffer? Why would the device be busy.
Any comments appreciated.