From: Hans Verkuil <hverkuil@xs4all.nl>
To: Ran Shalit <ranshalit@gmail.com>, linux-media@vger.kernel.org
Subject: Re: OS freeze after queue_setup
Date: Mon, 1 Feb 2016 09:14:34 +0100 [thread overview]
Message-ID: <56AF13EA.2070206@xs4all.nl> (raw)
In-Reply-To: <CAJ2oMhK+RS2Z2GVGbo3X_Ov5gWxiCRRvpT6T6YgfVKmp2rM4ew@mail.gmail.com>
On 02/01/2016 09:00 AM, Ran Shalit wrote:
> On Sun, Jan 31, 2016 at 10:35 PM, Ran Shalit <ranshalit@gmail.com> wrote:
>> Hello,
>>
>> Maybe someone will have some idea about the following:
>> I am using a pci card (not video card, just some dummy pci card), to
>> check v4l2 template for PCIe card (I used solo6x10 as template for the
>> driver and moved all hardware related to video into remarks).
>> I don't use any register read/write to hardware (just dummy functions).
>>
>> I get that load/unload of module is successful.
>> But on trying to start reading video frames (using read method with
>> v4l API userspace example), I get that the whole operating system is
>> freezed, and I must reboot the machine.
>> This is the queue_setup callback:
>>
>> static int test_queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt,
>> unsigned int *num_buffers, unsigned int *num_planes,
>> unsigned int sizes[], void *alloc_ctxs[])
>> {
>> struct test_dev *solo_dev = vb2_get_drv_priv(q);
>> dev_info(&test_dev->pdev->dev,"test_queue_setup\n");
>> sizes[0] = test_image_size(test_dev);
>> alloc_ctxs[0] = solo_dev->alloc_ctx;
>> *num_planes = 1;
>>
>> if (*num_buffers < MIN_VID_BUFFERS)
>> *num_buffers = MIN_VID_BUFFERS;
>>
>> return 0;
>> }
>>
>> static const struct vb2_ops test_video_qops = {
>> .queue_setup = test_queue_setup,
>> .buf_queue = test_buf_queue,
>> .start_streaming = test_start_streaming, <- does nothing
>> .stop_streaming = test_stop_streaming, <- does nothing
>> .wait_prepare = vb2_ops_wait_prepare,
>> .wait_finish = vb2_ops_wait_finish,
>> };
>>
>>
>> I didn't find anything suspicious in the videobuf2 callback that can
>> explain these freeze.( start_streaming,stop_streaming contains just
>> printk with function name).
>> I also can't know where it got stuck (The system is freezed without
>> any logging on screen, all log is in dmesg).
>>
>> Thank for any idea,
>> Ran
>
> On start reading frames (using read or mmap method), it seems as if
> there is some collisions between the pci video card and another card
> (becuase the monitor is also printed with strange colors as the moment
> the OS freezes) .
> I validated again that the PCIe boards IDs in the table are correct
> (it matches only the dummy pcie card when it is connected ).
> I also tried to comment out the irq request, to be sure that there is
> no irq collision with another board, but it still get freezed anyway.
I can't tell anything from this, I'd need to see the full source.
Regards,
Hans
next prev parent reply other threads:[~2016-02-01 8:14 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-31 20:35 OS freeze after queue_setup Ran Shalit
2016-02-01 8:00 ` Ran Shalit
2016-02-01 8:14 ` Hans Verkuil [this message]
2016-02-01 9:07 ` Ran Shalit
2016-02-01 10:04 ` Hans Verkuil
2016-02-01 11:16 ` Ran Shalit
2016-02-02 12:37 ` Ran Shalit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56AF13EA.2070206@xs4all.nl \
--to=hverkuil@xs4all.nl \
--cc=linux-media@vger.kernel.org \
--cc=ranshalit@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.