This patch series does some cleanups in the qbuf/prepare_buf handling (the first three patches). The fourth patch removes the 'fileio = NULL' hack. That hack no longer works when dealing with asynchronous calls from a kernel thread so it had to be fixed. The next three patches implement retrying start_streaming() if there are not enough buffers queued for the DMA engine to start. I know that there are more drivers that can be simplified with this feature available in the core. Those drivers do the retry of start_streaming in the buf_queue op which frankly defeats the purpose of having a central start_streaming op. But I leave it to the driver developers to decide whether or not to cleanup their drivers. The big advantage is that apps can just call STREAMON first, then start queuing buffers without having to know the minimum number of buffers that have to be queued before the DMA engine will kick in. It always annoyed me that vb2 didn't take care of that for me as it is easy enough to do. The eighth patch adds a fix based on a patch from Andy that removes the file I/O emulation assumption that buffers are dequeued in the same order that they were enqueued. The final patch makes a slight change to the STREAMON documentation to bring it in line with reality. Regards, Hans Changes since RFCv4: - Replaced ENODATA by ENOBUFS - Added DocBook fix -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html