This is a note to let you know that we have just queued up the patch titled
Subject: DVB: s5h1411: bugfix: Setting serial or parallel mode could destroy bits
to the 2.6.26-stable tree. Its filename is
dvb-s5h1411-bugfix-setting-serial-or-parallel-mode-could-destroy-bits.patch
A git repo of this tree can be found at
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
>From mkrufky@xxxxxxxxxxx Fri Nov 7 14:01:33 2008
From: Steven Toth <stoth@xxxxxxxxxxx>
Date: Sun, 02 Nov 2008 23:04:33 -0500
Subject: DVB: s5h1411: bugfix: Setting serial or parallel mode could destroy bits
To: stable@xxxxxxxxxx
Cc: v4l-dvb maintainer list <v4l-dvb-maintainer@xxxxxxxxxxx>, Steven Toth <stoth@xxxxxxxxxxx>, Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Message-ID: <490E7851.4070206@xxxxxxxxxxx>
From: Steven Toth <stoth@xxxxxxxxxxx>
commit 1af46b450fa49c57d73764d66f267335ccd807e2 upstream.
DVB: s5h1411: bugfix: Setting serial or parallel mode could destroy bits
Adding a serialmode function to read/and/or/write the register for safety.
Signed-off-by: Steven Toth <stoth@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Signed-off-by: Michael Krufky <mkrufky@xxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
---
drivers/media/dvb/frontends/s5h1411.c | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
--- a/drivers/media/dvb/frontends/s5h1411.c
+++ b/drivers/media/dvb/frontends/s5h1411.c
@@ -472,6 +472,20 @@ static int s5h1411_set_spectralinversion
return s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0x24, val);
}
+static int s5h1411_set_serialmode(struct dvb_frontend *fe, int serial)
+{
+ struct s5h1411_state *state = fe->demodulator_priv;
+ u16 val;
+
+ dprintk("%s(%d)\n", __func__, serial);
+ val = s5h1411_readreg(state, S5H1411_I2C_TOP_ADDR, 0xbd) & ~0x100;
+
+ if (serial == 1)
+ val |= 0x100;
+
+ return s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xbd, val);
+}
+
static int s5h1411_enable_modulation(struct dvb_frontend *fe,
fe_modulation_t m)
{
@@ -612,10 +626,10 @@ static int s5h1411_init(struct dvb_front
if (state->config->output_mode == S5H1411_SERIAL_OUTPUT)
/* Serial */
- s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xbd, 0x1101);
+ s5h1411_set_serialmode(fe, 1);
else
/* Parallel */
- s5h1411_writereg(state, S5H1411_I2C_TOP_ADDR, 0xbd, 0x1001);
+ s5h1411_set_serialmode(fe, 0);
s5h1411_set_spectralinversion(fe, state->config->inversion);
s5h1411_set_if_freq(fe, state->config->vsb_if);
Patches currently in stable-queue which might be from stoth@xxxxxxxxxxx are
queue-2.6.26/dvb-s5h1411-bugfix-setting-serial-or-parallel-mode-could-destroy-bits.patch
queue-2.6.26/dvb-s5h1411-perform-s5h1411-soft-reset-after-tuning.patch
queue-2.6.26/dvb-s5h1411-power-down-s5h1411-when-not-in-use.patch
_______________________________________________
v4l-dvb-maintainer mailing list
v4l-dvb-maintainer@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/v4l-dvb-maintainer
[Linux Media]
[Older V4L]
[Linux DVB]
[Video Disk Recorder]
[Asterisk]
[Photo]
[DCCP]
[Netdev]
[Xorg]
[Util Linux NG]
[Xfree86]
[Free Photo Albums]
[Fedora Users]
[Fedora Women]
[ALSA Users]
[ALSA Devel]
[SSH]
[Linux USB]
 |
 |
-->