diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2007-08-04 10:00:07 +0200 |
---|---|---|
committer | Hans Verkuil <hverkuil@xs4all.nl> | 2007-08-04 10:00:07 +0200 |
commit | fa8db046b18cc7b04150493f8dafab37a47b2d40 (patch) | |
tree | 8ec6cc235bd074545f40dd73db60c4e3167dd668 /linux/drivers/media/video | |
parent | cac01e9a0e9486d3ef54daba5176f692f84bf1c8 (diff) | |
download | mediapointer-dvb-s2-fa8db046b18cc7b04150493f8dafab37a47b2d40.tar.gz mediapointer-dvb-s2-fa8db046b18cc7b04150493f8dafab37a47b2d40.tar.bz2 |
cx25840: resetting also requires reloading the firmware
From: Hans Verkuil <hverkuil@xs4all.nl>
Resetting without reloading the firmware is not enough. Sometimes the
firmware is 'stuck' and needs to be reloaded.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Diffstat (limited to 'linux/drivers/media/video')
-rw-r--r-- | linux/drivers/media/video/cx25840/cx25840-core.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/linux/drivers/media/video/cx25840/cx25840-core.c b/linux/drivers/media/video/cx25840/cx25840-core.c index 77aca112c..3392dacbd 100644 --- a/linux/drivers/media/video/cx25840/cx25840-core.c +++ b/linux/drivers/media/video/cx25840/cx25840-core.c @@ -190,7 +190,7 @@ static void cx25836_initialize(struct i2c_client *client) cx25840_and_or(client, 0x15b, ~0x1e, 0x10); } -static void cx25840_initialize(struct i2c_client *client, int loadfw) +static void cx25840_initialize(struct i2c_client *client) { struct cx25840_state *state = i2c_get_clientdata(client); @@ -208,8 +208,7 @@ static void cx25840_initialize(struct i2c_client *client, int loadfw) cx25840_write(client, 0x13c, 0x01); cx25840_write(client, 0x13c, 0x00); /* 5. */ - if (loadfw) - cx25840_loadfw(client); + cx25840_loadfw(client); /* 6. */ cx25840_write(client, 0x115, 0x8c); cx25840_write(client, 0x116, 0x07); @@ -649,7 +648,7 @@ static int cx25840_command(struct i2c_client *client, unsigned int cmd, if (state->is_cx25836) cx25836_initialize(client); else - cx25840_initialize(client, 1); + cx25840_initialize(client); } switch (cmd) { @@ -852,7 +851,7 @@ static int cx25840_command(struct i2c_client *client, unsigned int cmd, if (state->is_cx25836) cx25836_initialize(client); else - cx25840_initialize(client, 0); + cx25840_initialize(client); break; case VIDIOC_G_CHIP_IDENT: |