summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/ttpci/av7110_hw.c
diff options
context:
space:
mode:
authorJohannes Stezenbach <devnull@localhost>2004-02-20 13:02:06 +0000
committerJohannes Stezenbach <devnull@localhost>2004-02-20 13:02:06 +0000
commit0f9d4e1d924309be3ab7ce64c88cedefcc61c222 (patch)
tree6c64c812b2c63278394c1aca68412c6cbb7f2086 /linux/drivers/media/dvb/ttpci/av7110_hw.c
parent3550d7d56a79a922dc4c1c5c74cf41929c8ceb88 (diff)
downloadmediapointer-dvb-s2-0f9d4e1d924309be3ab7ce64c88cedefcc61c222.tar.gz
mediapointer-dvb-s2-0f9d4e1d924309be3ab7ce64c88cedefcc61c222.tar.bz2
check result of saa7146_wait_for_debi_done() in av7110_bootarm()
Diffstat (limited to 'linux/drivers/media/dvb/ttpci/av7110_hw.c')
-rw-r--r--linux/drivers/media/dvb/ttpci/av7110_hw.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/linux/drivers/media/dvb/ttpci/av7110_hw.c b/linux/drivers/media/dvb/ttpci/av7110_hw.c
index 52bda9aeb..e1a6e76b7 100644
--- a/linux/drivers/media/dvb/ttpci/av7110_hw.c
+++ b/linux/drivers/media/dvb/ttpci/av7110_hw.c
@@ -249,7 +249,11 @@ int av7110_bootarm(struct av7110 *av7110)
mwdebi(av7110, DEBISWAB, DPRAM_BASE, bootcode, sizeof(bootcode));
iwdebi(av7110, DEBINOSWAP, BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2);
- saa7146_wait_for_debi_done(av7110->dev);
+ if (saa7146_wait_for_debi_done(av7110->dev)) {
+ printk(KERN_ERR "dvb: av7110_bootarm(): "
+ "saa7146_wait_for_debi_done() timed out\n");
+ return -1;
+ }
saa7146_setgpio(dev, RESET_LINE, SAA7146_GPIO_OUTHI);
//FIXME: necessary?
set_current_state(TASK_INTERRUPTIBLE);
@@ -265,7 +269,11 @@ int av7110_bootarm(struct av7110 *av7110)
DEB_D(("av7110_bootarm: load dpram code\n"));
mwdebi(av7110, DEBISWAB, DPRAM_BASE, av7110->bin_dpram, av7110->size_dpram);
- saa7146_wait_for_debi_done(av7110->dev);
+ if (saa7146_wait_for_debi_done(av7110->dev)) {
+ printk(KERN_ERR "dvb: av7110_bootarm(): "
+ "saa7146_wait_for_debi_done() timed out after loading DRAM\n");
+ return -1;
+ }
saa7146_setgpio(dev, RESET_LINE, SAA7146_GPIO_OUTHI);
//FIXME: necessary?
mdelay(800);