From: Hans Verkuil Date: Wed, 18 Feb 2009 15:22:16 +0000 (-0300) Subject: V4L/DVB (10700): saa7115: don't access reg 0x87 if it is not present. X-Git-Tag: v2.6.30-rc1~621^2~442 X-Git-Url: http://git.cascardo.eti.br/?a=commitdiff_plain;h=674a323218ab0b0be100b51c251a72787b5c9e3a;p=cascardo%2Flinux.git V4L/DVB (10700): saa7115: don't access reg 0x87 if it is not present. Devices like the saa7111 do not have this register, so check for this before using it. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/video/saa7115.c b/drivers/media/video/saa7115.c index a845582ca5d4..b1c5f63bb77a 100644 --- a/drivers/media/video/saa7115.c +++ b/drivers/media/video/saa7115.c @@ -1310,11 +1310,12 @@ static int saa711x_s_stream(struct v4l2_subdev *sd, int enable) v4l2_dbg(1, debug, sd, "%s output\n", enable ? "enable" : "disable"); - if (state->enable != enable) { - state->enable = enable; - saa711x_write(sd, R_87_I_PORT_I_O_ENA_OUT_CLK_AND_GATED, - state->enable); - } + if (state->enable == enable) + return 0; + state->enable = enable; + if (!saa711x_has_reg(state->ident, R_87_I_PORT_I_O_ENA_OUT_CLK_AND_GATED)) + return 0; + saa711x_write(sd, R_87_I_PORT_I_O_ENA_OUT_CLK_AND_GATED, state->enable); return 0; }