Skip to content

Commit

Permalink
V4L/DVB (7242): ivtv: fix for yuv filter table check
Browse files Browse the repository at this point in the history
As the result of a previous change that delayed the loading of the firmware,
the driver can sometimes report a bogus error regarding the yuv output filter
table not being found in the firmware. This patch moves the filter table
check to ensure it's only done after the firmware has been loaded.

Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
  • Loading branch information
Ian Armstrong authored and Mauro Carvalho Chehab committed Mar 20, 2008
1 parent e8d3593 commit a54d1de
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
4 changes: 0 additions & 4 deletions drivers/media/video/ivtv/ivtv-driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@
#include "ivtv-vbi.h"
#include "ivtv-routing.h"
#include "ivtv-gpio.h"
#include "ivtv-yuv.h"

#include <media/tveeprom.h>
#include <media/saa7115.h>
Expand Down Expand Up @@ -1053,9 +1052,6 @@ static int __devinit ivtv_probe(struct pci_dev *dev,
goto free_io;
}

/* Check yuv output filter table */
if (itv->has_cx23415) ivtv_yuv_filter_check(itv);

ivtv_gpio_init(itv);

/* active i2c */
Expand Down
8 changes: 6 additions & 2 deletions drivers/media/video/ivtv/ivtv-firmware.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include "ivtv-driver.h"
#include "ivtv-mailbox.h"
#include "ivtv-firmware.h"
#include "ivtv-yuv.h"
#include <linux/firmware.h>

#define IVTV_MASK_SPU_ENABLE 0xFFFFFFFE
Expand Down Expand Up @@ -225,11 +226,14 @@ int ivtv_firmware_init(struct ivtv *itv)
return 0;

itv->dec_mbox.mbox = ivtv_search_mailbox(itv->dec_mem, IVTV_DECODER_SIZE);
if (itv->dec_mbox.mbox == NULL)
if (itv->dec_mbox.mbox == NULL) {
IVTV_ERR("Decoder mailbox not found\n");
else if (itv->has_cx23415 && ivtv_vapi(itv, CX2341X_DEC_PING_FW, 0)) {
} else if (itv->has_cx23415 && ivtv_vapi(itv, CX2341X_DEC_PING_FW, 0)) {
IVTV_ERR("Decoder firmware dead!\n");
itv->dec_mbox.mbox = NULL;
} else {
/* Firmware okay, so check yuv output filter table */
ivtv_yuv_filter_check(itv);
}
return itv->dec_mbox.mbox ? 0 : -ENODEV;
}
Expand Down

0 comments on commit a54d1de

Please sign in to comment.