summaryrefslogtreecommitdiff
path: root/drivers/media/video/ivtv/ivtv-streams.c
diff options
context:
space:
mode:
authorIan Armstrong <ian@iarmst.demon.co.uk>2010-06-12 13:41:57 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-08-02 14:48:13 -0300
commit215659d14f9dbc849ccda1655c94d710f8cc6384 (patch)
tree7f1c65043106c2b14492616e48b17d76243a20f4 /drivers/media/video/ivtv/ivtv-streams.c
parent914610e8c508224a6fb9fb501ed4bda25b340ba6 (diff)
V4L/DVB: ivtv: Automatic firmware reload
If the firmware has failed, this patch will automatically reload & restart the card. The previous card state will be restored on a successful restart. Firmware reload will only happen if neither the encoder or decoder is active. If the card is busy then behaviour is as before, returning -EIO on device access until the reload can occur. On cards that support video output, coloured bars will be displayed during the reload. Andy Walls (ivtv maintainer and patch committer) made minor tweaks to comments and the logged messages, but nothing substantial otherwise. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Andy Walls <awalls@md.metrocast.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-streams.c')
-rw-r--r--drivers/media/video/ivtv/ivtv-streams.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/media/video/ivtv/ivtv-streams.c b/drivers/media/video/ivtv/ivtv-streams.c
index f0dd011a2ccc..55df4190c28d 100644
--- a/drivers/media/video/ivtv/ivtv-streams.c
+++ b/drivers/media/video/ivtv/ivtv-streams.c
@@ -676,10 +676,7 @@ static int ivtv_setup_v4l2_decode_stream(struct ivtv_stream *s)
ivtv_msleep_timeout(10, 0);
/* Known failure point for firmware, so check */
- if (ivtv_firmware_check(itv, "ivtv_setup_v4l2_decode_stream") < 0)
- return -EIO;
-
- return 0;
+ return ivtv_firmware_check(itv, "ivtv_setup_v4l2_decode_stream");
}
int ivtv_start_v4l2_decode_stream(struct ivtv_stream *s, int gop_offset)