From: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Matthias Schwarzott <zzam@gentoo.org>,
linux-media <linux-media@vger.kernel.org>,
Junghak Sung <jh1009.sung@samsung.com>
Subject: Re: [PATCH for v4.5] vb2: fix nasty vb2_thread regression
Date: Wed, 3 Feb 2016 20:39:57 -0200 [thread overview]
Message-ID: <20160203203957.2c592fa8@recife.lan> (raw)
In-Reply-To: <56A9364D.5010806@xs4all.nl>
Em Wed, 27 Jan 2016 22:27:41 +0100
Hans Verkuil <hverkuil@xs4all.nl> escreveu:
> On 01/27/2016 09:57 PM, Matthias Schwarzott wrote:
> > Am 27.01.2016 um 13:08 schrieb Hans Verkuil:
> >> The vb2_thread implementation was made generic and was moved from
> >> videobuf2-v4l2.c to videobuf2-core.c in commit af3bac1a. Unfortunately
> >> that clearly was never tested since it broke read() causing NULL address
> >> references.
> >>
> >> The root cause was confused handling of vb2_buffer vs v4l2_buffer (the pb
> >> pointer in various core functions).
> >>
> >> The v4l2_buffer no longer exists after moving the code into the core and
> >> it is no longer needed. However, the vb2_thread code passed a pointer to
> >> a vb2_buffer to the core functions were a v4l2_buffer pointer was expected
> >> and vb2_thread expected that the vb2_buffer fields would be filled in
> >> correctly.
> >>
> >> This is obviously wrong since v4l2_buffer != vb2_buffer. Note that the
> >> pb pointer is a void pointer, so no type-checking took place.
> >>
> >> This patch fixes this problem:
> >>
> >> 1) allow pb to be NULL for vb2_core_(d)qbuf. The vb2_thread code will use
> >> a NULL pointer here since they don't care about v4l2_buffer anyway.
> >> 2) let vb2_core_dqbuf pass back the index of the received buffer. This is
> >> all vb2_thread needs: this index is the index into the q->bufs array
> >> and vb2_thread just gets the vb2_buffer from there.
> >> 3) the fileio->b pointer (that originally contained a v4l2_buffer) is
> >> removed altogether since it is no longer needed.
> >>
> >> Tested with vivid and the cobalt driver.
> >>
> >> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
> >> Tested-by: Hans Verkuil <hans.verkuil@cisco.com>
> >> Reported-by: Matthias Schwarzott <zzam@gentoo.org>
> >
> > Hi Hans!
> >
> > Thank you for this patch.
> > I gave this patch a try on the latest sources from
> > git://linuxtv.org/media_tree.git
> >
> > Compiled for kernel 4.2.8 with media_build.
> >
> > Now it no longer oopses.
>
> Good.
>
> > It tunes fine (according to femon), but I still do not get a
> > picture/dvbtraffic reports nothing.
>
> I will try to do a DVB test tomorrow. I can't spend too much time on it so
> if I can't reproduce it I'll probably ask Mauro to take a look. After tomorrow
> it will take at least a week before I have another chance of testing this due
> to traveling.
There is one other unrelated bug, fixed on this patch:
https://patchwork.linuxtv.org/patch/32814/
I added both patches on my experimental tree, together with a fix
for tda10046 demod, at:
https://git.linuxtv.org/mchehab/experimental.git/log/?h=vb2-dvb-fixup
Please test. At least here, it is working fine:
$ LANG=C ~/v4l-utils/utils/dvb/dvbv5-scan -Ichannel ~/dvbt-teste -F
Cannot calc frequency shift. Either bandwidth/symbol-rate is unavailable (yet).
Scanning frequency #1 562000000
Lock (0x1f) Signal= 70.20% C/N= 92.16% UCB= 60395 postBER= 8
Service D8, provider NTN: digital television
Service BFM TV, provider NTN: digital television
Service i>TELE, provider NTN: digital television
Service D17, provider NTN: digital television
Service Gulli, provider NTN: digital television
Service France 4, provider NTN: digital television
$ LANG=C ~/v4l-utils/utils/dvb/dvbv5-zap -Ichannel -c ~/dvbt-teste -m 562000000
PID FREQ SPEED TOTAL
0000 9.70 p/s 14.2 Kbps 12 KB
0010 2.14 p/s 3.1 Kbps 2 KB
0012 82.04 p/s 120.5 Kbps 105 KB
0015 1.85 p/s 2.7 Kbps 2 KB
006e 9.84 p/s 14.5 Kbps 12 KB
0078 2170.21 p/s 3187.5 Kbps 2792 KB
0082 130.26 p/s 191.3 Kbps 167 KB
0083 130.26 p/s 191.3 Kbps 167 KB
008c 2.43 p/s 3.6 Kbps 3 KB
008d 2.43 p/s 3.6 Kbps 3 KB
00aa 2.00 p/s 2.9 Kbps 2 KB
0136 9.84 p/s 14.5 Kbps 12 KB
0140 2864.03 p/s 4206.5 Kbps 3685 KB
014a 130.26 p/s 191.3 Kbps 167 KB
0154 2.57 p/s 3.8 Kbps 3 KB
019a 9.84 p/s 14.5 Kbps 12 KB
01a4 2316.16 p/s 3401.9 Kbps 2980 KB
01ae 130.12 p/s 191.1 Kbps 167 KB
01b8 2.43 p/s 3.6 Kbps 3 KB
01d6 2.00 p/s 2.9 Kbps 2 KB
01fe 9.84 p/s 14.5 Kbps 12 KB
0208 2276.22 p/s 3343.2 Kbps 2929 KB
0212 130.40 p/s 191.5 Kbps 167 KB
0213 130.40 p/s 191.5 Kbps 167 KB
021c 7.42 p/s 10.9 Kbps 9 KB
021d 2.57 p/s 3.8 Kbps 3 KB
0221 24.68 p/s 36.3 Kbps 31 KB
023a 2.00 p/s 2.9 Kbps 2 KB
0262 9.84 p/s 14.5 Kbps 12 KB
026c 2209.16 p/s 3244.7 Kbps 2842 KB
0276 130.26 p/s 191.3 Kbps 167 KB
0277 130.26 p/s 191.3 Kbps 167 KB
0280 2.43 p/s 3.6 Kbps 3 KB
0281 2.43 p/s 3.6 Kbps 3 KB
02c6 9.84 p/s 14.5 Kbps 12 KB
02d0 2187.76 p/s 3213.3 Kbps 2815 KB
02da 130.40 p/s 191.5 Kbps 167 KB
02db 130.40 p/s 191.5 Kbps 167 KB
02e4 2.57 p/s 3.8 Kbps 3 KB
02e5 2.57 p/s 3.8 Kbps 3 KB
0302 2.00 p/s 2.9 Kbps 2 KB
0303 177.20 p/s 260.3 Kbps 228 KB
1fff 5060.78 p/s 7433.0 Kbps 6512 KB
TOT 20782.42 p/s 30524.2 Kbps 26743 KB
Lock (0x1f) Signal= 70.20% C/N= 100.00% UCB= 65535 postBER= 24
Please test. I should be applying both patches tomorrow, in order
to send them as quick as possible to 4.5-rc.
Regards,
Mauro
prev parent reply other threads:[~2016-02-03 22:40 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-27 12:08 [PATCH for v4.5] vb2: fix nasty vb2_thread regression Hans Verkuil
2016-01-27 20:57 ` Matthias Schwarzott
2016-01-27 21:27 ` Hans Verkuil
2016-02-03 22:39 ` Mauro Carvalho Chehab [this message]
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=20160203203957.2c592fa8@recife.lan \
--to=mchehab@osg.samsung.com \
--cc=hverkuil@xs4all.nl \
--cc=jh1009.sung@samsung.com \
--cc=linux-media@vger.kernel.org \
--cc=zzam@gentoo.org \
/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.