<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/media, branch v3.3.2</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/media?h=v3.3.2</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/media?h=v3.3.2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-04-13T16:13:57Z</updated>
<entry>
<title>media: dvb-core: fix DVBFE_ALGO_HW retune bug</title>
<updated>2012-04-13T16:13:57Z</updated>
<author>
<name>Simon Arlott</name>
<email>simon@fire.lp0.eu</email>
</author>
<published>2012-02-06T20:57:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e4d3aa91a6b7d6a6ca73b6c169848f7acbecbd8f'/>
<id>urn:sha1:e4d3aa91a6b7d6a6ca73b6c169848f7acbecbd8f</id>
<content type='text'>
commit 45145b67f5895ff92207cffd74e65460a87920b2 upstream.

Commit 7e07222 breaks DVBFE_ALGO_HW tuning after a retune is requested,
which causes bad tuning on my TBS 6920.

[    0.769091] pci 0000:06:00.0: [14f1:8852] type 0 class 0x000400
[   19.733530] CORE cx23885[0]: subsystem: 6920:8888, board: TurboSight TBS 6920 [card=14,autodetected]
[  762.824912] cx24116_load_firmware: FW version 1.23.86.1

7e0722215a510921cbb73ab4c37477d4dcb91bf8 [media] dvb-core: Don't pass DVBv3 parameters on tune() fops

Although re_tune is set to true when FESTATE_RETUNE occurs, it is never
set back to false which the old code used to do when !FESTATE_RETUNE.

This patch sets re_tune to false if !(state &amp; FESTATE_RETUNE).

$ szap-s2 -a 2 "Channel 5"
reading channels from file '/home/simon/.szap/channels.conf'
zapping to 247 'Channel 5':
delivery DVB-S, modulation QPSK
sat 0, frequency 10964 MHz H, symbolrate 22000000, coderate 5/6, rolloff 0.35
vpid 0x092a, apid 0x092b, sid 0x092d
using '/dev/dvb/adapter2/frontend0' and '/dev/dvb/adapter2/demux0'
status 1f | signal cf40 | snr 0000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal cf40 | snr eccd | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal cf40 | snr 0000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal cf40 | snr 0000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal cf40 | snr eccd | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal cf40 | snr 0000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal cf40 | snr 0000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal cf40 | snr eb33 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal cf40 | snr eccd | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal cf40 | snr eccd | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal cf40 | snr 0000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal cf40 | snr eccd | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal cf40 | snr eccd | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal cf40 | snr 0000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal cec0 | snr eccd | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status 1f | signal cec0 | snr 0000 | ber 00000000 | unc 00000000 | FE_HAS_LOCK

Signed-off-by: Simon Arlott &lt;simon@fire.lp0.eu&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;

</content>
</entry>
<entry>
<title>media: dvb_frontend: regression fix: userspace ABI broken for xine</title>
<updated>2012-04-13T16:13:57Z</updated>
<author>
<name>Chris Rankin</name>
<email>rankincj@yahoo.com</email>
</author>
<published>2012-04-06T21:38:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=72043dfc657fa79898ec740fc7387b0efd767422'/>
<id>urn:sha1:72043dfc657fa79898ec740fc7387b0efd767422</id>
<content type='text'>
commit 556a0442e08a8bc8541587a349cbf26ed14ec6de upstream.

The commit e399ce77e6e has broken the DVB ABI for xine:

The problem is that xine is expecting every event after a successful
FE_SET_FRONTEND ioctl to have a non-zero frequency parameter, regardless
of whether the tuning process has LOCKed yet. What used to happen is
that the events inherited the initial tuning parameters from the
FE_SET_FRONTEND call. However, the fepriv-&gt;parameters_out struct is now
not initialised until the status contains the FE_HAS_LOCK bit.

You might argue that this behaviour is intentional, except that if an
application other than xine uses the DVB adapter and manages to set the
parameters_out.frequency field to something other than zero, then xine
no longer has any problems until either the adapter is replugged or the
kernel modules reloaded. This can only mean that the
fepriv-&gt;parameters_out struct still contains the (stale) tuning
information from the previous application.

Signed-off-by: Chris Rankin &lt;rankincj@yahoo.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>uvcvideo: Fix race-related crash in uvc_video_clock_update()</title>
<updated>2012-04-13T16:13:56Z</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2012-03-27T08:51:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c313cb6abc8ae377319b6f3b09cb39d71b663b2f'/>
<id>urn:sha1:c313cb6abc8ae377319b6f3b09cb39d71b663b2f</id>
<content type='text'>
commit ed0ee0ce0a3224dab5caa088a5f8b6df25924276 upstream.

The driver frees the clock samples buffer before stopping the video
buffers queue. If a DQBUF call arrives in-between,
uvc_video_clock_update() will be called with a NULL clock samples
buffer, leading to a crash. This occurs very frequently when using the
webcam with the flash browser plugin.

Move clock initialization/cleanup to uvc_video_enable() in order to free
the clock samples buffer after the queue is stopped. Make sure the clock
is reset at resume time to avoid miscalculating timestamps.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mxl111sf: fix error on stream stop in mxl111sf_ep6_streaming_ctrl()</title>
<updated>2012-04-02T17:32:09Z</updated>
<author>
<name>Michael Krufky</name>
<email>mkrufky@linuxtv.org</email>
</author>
<published>2012-03-18T17:35:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6c9be40dfde282de8a0098612ace80dacc50ae4f'/>
<id>urn:sha1:6c9be40dfde282de8a0098612ace80dacc50ae4f</id>
<content type='text'>
commit 3be5bb71fbf18f83cb88b54a62a78e03e5a4f30a upstream.

Remove unnecessary register access in mxl111sf_ep6_streaming_ctrl()

This code breaks driver operation in kernel 3.3 and later, although
it works properly in 3.2  Disable register access to 0x12 for now.

Signed-off-by: Michael Krufky &lt;mkrufky@linuxtv.org&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pvrusb2: fix 7MHz &amp; 8MHz DVB-T tuner support for HVR1900 rev D1F5</title>
<updated>2012-04-02T17:32:09Z</updated>
<author>
<name>Michael Krufky</name>
<email>mkrufky@linuxtv.org</email>
</author>
<published>2012-02-07T16:28:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4be95e37708d70cd8883501017677b38267d9116'/>
<id>urn:sha1:4be95e37708d70cd8883501017677b38267d9116</id>
<content type='text'>
commit 9ab2393fc3e460cd2040de1483918eb17abb822f upstream.

The D1F5 revision of the WinTV HVR-1900 uses a tda18271c2 tuner
instead of a tda18271c1 tuner as used in revision D1E9. To
account for this, we must hardcode the frontend configuration
to use the same IF frequency configuration for both revisions
of the device.

6MHz DVB-T is unaffected by this issue, as the recommended
IF Frequency configuration for 6MHz DVB-T is the same on both
c1 and c2 revisions of the tda18271 tuner.

Signed-off-by: Michael Krufky &lt;mkrufky@linuxtv.org&gt;
Cc: Mike Isely &lt;isely@pobox.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>au8522: bug-fix: enable modulation AFTER tune (instead of before tuning)</title>
<updated>2012-04-02T17:32:09Z</updated>
<author>
<name>Michael Krufky</name>
<email>mkrufky@kernellabs.com</email>
</author>
<published>2012-03-12T20:07:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3c55383f313b3c28a074f5881272c800f0d3ee47'/>
<id>urn:sha1:3c55383f313b3c28a074f5881272c800f0d3ee47</id>
<content type='text'>
commit ef3d2dc366c8c32d58dbbf9898cfd4f853ff8fe0 upstream.

The au8522 driver programs the tuner after programming the demodulator,
but the tuner should be programmed first. This patch fixes this behavior.

EDIT: Apparantly Devin created a similar patch some time ago, but hasn't
submitted it for merge.  I never saw his patch, but I thank him anyhow
for his efforts.  In addition, Devin pointed out a flaw in my patch:

This newly generated patch takes Devin's comments into account.

Thanks-to: Devin Heitmueller &lt;dheitmueller@kernellabs.com&gt;
Signed-off-by: Michael Krufky &lt;mkrufky@linuxtv.org&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>tda10071: fix the delivery system</title>
<updated>2012-04-02T17:32:09Z</updated>
<author>
<name>Antti Palosaari</name>
<email>crope@iki.fi</email>
</author>
<published>2012-03-12T21:21:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5af11ec1e3215db83ee131fd70663ad720b91708'/>
<id>urn:sha1:5af11ec1e3215db83ee131fd70663ad720b91708</id>
<content type='text'>
commit 2b49fad59513b07f976c9711b99f93ae74d081c5 upstream.

Commit b2a29b578d9c21b2e5c88020f830d3c42115c51d sets accidentally
supported delivery systems as DVB-T/T2 whilst it should be
DVB-S/S2. Due to that frontend cannot be used at all.

Reported-by: Jiří Zelenka &lt;klacek@bubakov.net&gt;
Signed-off-by: Antti Palosaari &lt;crope@iki.fi&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>lgdt330x: fix signedness error in i2c_read_demod_bytes()</title>
<updated>2012-04-02T17:32:09Z</updated>
<author>
<name>Xi Wang</name>
<email>xi.wang@gmail.com</email>
</author>
<published>2012-02-14T17:32:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7b1402c9c93cf483adb38ff530b9e186020212ce'/>
<id>urn:sha1:7b1402c9c93cf483adb38ff530b9e186020212ce</id>
<content type='text'>
commit 34817174fca0c5512c2d5b6ea0fc37a0337ce1d8 upstream.

The error handling in lgdt3303_read_status() and lgdt330x_read_ucblocks()
doesn't work, because i2c_read_demod_bytes() returns a u8 and (err &lt; 0)
is always false.

        err = i2c_read_demod_bytes(state, 0x58, buf, 1);
        if (err &lt; 0)
                return err;

Change the return type of i2c_read_demod_bytes() to int.  Also change
the return value on error to -EIO to make (err &lt; 0) work.

Signed-off-by: Xi Wang &lt;xi.wang@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media</title>
<updated>2012-03-16T00:06:05Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-03-16T00:06:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=72c79bdbda396b7f67e97b2a89410ac91d814c1b'/>
<id>urn:sha1:72c79bdbda396b7f67e97b2a89410ac91d814c1b</id>
<content type='text'>
Pull media fixes from Mauro Carvalho Chehab:
 "For 4 fixes for 3.3 (all trivial):
       - uvc video driver: fixes a division by zero;
       - davinci: add module.h to fix compilation;
       - smsusb: fix the delivery system setting;
       - smsdvb: the get_frontend implementation there is broken.

  The smsdvb patch has 127 lines, but it is trivial: instead of
  returning a cache of the set_frontend (with is wrong, as it doesn't
  have the updated values for the data, and the implementation there is
  buggy), it copies the information of the detected DVB parameters from
  the smsdvb private structures into the corresponding DVBv5 struct
  fields."

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
  [media] smsdvb: fix get_frontend
  [media] smsusb: fix the default delivery system setting
  [media] media: davinci: added module.h to resolve unresolved macros
  [media] [FOR,v3.3] uvcvideo: Avoid division by 0 in timestamp calculation
</content>
</entry>
<entry>
<title>[media] smsdvb: fix get_frontend</title>
<updated>2012-03-08T14:20:12Z</updated>
<author>
<name>Gianluca Gennari</name>
<email>gennarone@gmail.com</email>
</author>
<published>2012-02-20T10:50:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d138210ffa90e6c78e3f7a2c348f50e865ff735c'/>
<id>urn:sha1:d138210ffa90e6c78e3f7a2c348f50e865ff735c</id>
<content type='text'>
In the get_frontend function, an internal copy of the dtv_frontend_properties
struct (which is never initialized) is copied over the frontend property cache
data structure, resetting everything to 0.
In particular, the delivery system is reset to 0 (which is an invalid value)
so the driver stops working as soon as a DVBv3 application calls the
get_frontend function, giving this error:

dvb_frontend_ioctl_legacy: doesn't know how to handle a DVBv3 call to delivery
system 0

This patch eliminates the unused internal copy of the dtv_frontend_properties
struct, and gives a proper implementation of the get_frontend function.

The original author of the patch is Panagiotis Malakoudis, who also tested
this new version on Ubuntu 11.10 with the latest media_build tree installed.
The original patch has been used on MIPS set-top-boxes for over one year,
but it was never posted on the linux-media list.
I ported the code to the current media_build tree (converting it to use the
dtv_frontend_properties struct) and added basic support for ISDB-T (untested).

Signed-off-by: Panagiotis Malakoudis &lt;malakudi@gmail.com&gt;
Signed-off-by: Gianluca Gennari &lt;gennarone@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
</entry>
</feed>
