Hi all, I was wondering how acceptable is to requeue a buffer in a dqbuf call if the videbuf_dqbuf returns error?
See, here's our current omap3 camera dqbuf function code: static int vidioc_dqbuf(struct file *file, void *fh, struct v4l2_buffer *b) { struct omap34xxcam_fh *ofh = fh; int rval; videobuf_dqbuf_again: rval = videobuf_dqbuf(&ofh->vbq, b, file->f_flags & O_NONBLOCK); /* * This is a hack. We don't want to show -EIO to the user * space. Requeue the buffer and try again if we're not doing * this in non-blocking mode. */ if (rval == -EIO) { videobuf_qbuf(&ofh->vbq, b); if (!(file->f_flags & O_NONBLOCK)) goto videobuf_dqbuf_again; /* * We don't have a videobuf_buffer now --- maybe next * time... */ rval = -EAGAIN; } return rval; } Is anything wrong with doing this? Or perhaphs something better to do? Regards, Sergio-- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html