Thread (17 messages) 17 messages, 2 authors, 2015-03-16

Re: [PATCH v3][RFC] add raw video stream support for Samsung SUR40

From: Hans Verkuil <hidden>
Date: 2015-03-09 10:09:09
Also in: linux-media

Hi Florian,

On 03/09/2015 10:49 AM, Florian Echtler wrote:
On 07.03.2015 21:57, Hans Verkuil wrote:
quoted
This will wait until start_streaming was called before it starts processing
video (and start_streaming is only called if at least 3 buffers have been
queued).

Right now the first buffer can be returned without STREAMON actually having
been called. That's certainly wrong.

Whether that is the cause of this bug I do not know, but fix this first.
OK, I've fixed this, will be included in the next patch submission.
Unfortunately still getting the same error from v4l2-compliance.
quoted
If this doesn't solve it, then please do another run but this time use

echo 10 >/sys/class/video4linux/videoX/dev_debug

so I see the (D)QBUF ioctls as well. Otherwise use the same procedure as
before.
See attachments - syslog with dev_debug=10, core.debug=1 and output from
v4l2-compliance -s.

*fingers crossed even more* ;-)
OK, the cause of this failure is this message:

Mar  9 10:39:08 sur40 kernel: [ 1093.200960] sur40 2-1:1.0: error in usb_sg_wait

So you need to print the error message here (sgr.status) so that I can see what
it is.

The error almost certainly comes from usb_submit_urb(). That function does some
checks on the sgl:

       } else if (urb->num_sgs && !urb->dev->bus->no_sg_constraint &&
                        dev->speed != USB_SPEED_WIRELESS) {
                struct scatterlist *sg;
                int i;

                for_each_sg(urb->sg, sg, urb->num_sgs - 1, i)
                        if (sg->length % max)
                                return -EINVAL;
        }

I wonder it the code gets there. Perhaps a printk just before the return -EINVAL
might help here (also print the 'max' value).

So you will have to debug a bit here, trying to figure out which test in the usb
code causes the usb_sg_wait error.

Regards,

	Hans
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help