On 06/06/2014 11:19 AM, Laurent Pinchart wrote: > Hi Pawel, > > On Friday 06 June 2014 14:31:15 Pawel Osciak wrote: >> Hi Laurent, >> Thanks for the patch. Did you test this to work in fileio mode? Looks >> like it should, but would like to make sure. > > No, I haven't tested it. The OMAP4 ISS driver, which is my test target for > this patch, doesn't support fileio mode. Adding VB2_READ would be easy, but > the driver requires configuring the format on the file handle used for > streaming, so I can't just run cat /dev/video*. Just test with vivi. Regards, Hans > >> On Thu, Jun 5, 2014 at 9:23 PM, Laurent Pinchart wrote: >>> When a fatal error occurs that render the device unusable, the only >>> options for a driver to signal the error condition to userspace is to >>> set the V4L2_BUF_FLAG_ERROR flag when dequeuing buffers and to return an >>> error from the buffer prepare handler when queuing buffers. >>> >>> The buffer error flag indicates a transient error and can't be used by >>> applications to detect fatal errors. Returning an error from vb2_qbuf() >>> is thus the only real indication that a fatal error occurred. However, >>> this is difficult to handle for multithreaded applications that requeue >>> buffers from a thread other than the control thread. In particular the >>> poll() call in the control thread will not notify userspace of the >>> error. >>> >>> This patch adds an explicit mechanism to report fatal errors to >>> userspace. Applications can call the vb2_queue_error() function to >>> signal a fatal error. From this moment on, buffer preparation will >>> return -EIO to userspace, and vb2_poll() will set the POLLERR flag and >>> return immediately. The error flag is cleared when cancelling the queue, >>> either at stream off time (through vb2_streamoff) or when releasing the >>> queue with vb2_queue_release(). >>> >>> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > -- 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