summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/ttpci/av7110_hw.c
diff options
context:
space:
mode:
authorJohannes Stezenbach <devnull@localhost>2004-02-10 17:33:01 +0000
committerJohannes Stezenbach <devnull@localhost>2004-02-10 17:33:01 +0000
commit02bd082116e4aa5d890757253ca5fa70386323e0 (patch)
treecf6fff5f8881344ae85ae198a81e506da63071c3 /linux/drivers/media/dvb/ttpci/av7110_hw.c
parent21059300be791fe4d0c13b6ef5fdd534e7f6b44e (diff)
downloadmediapointer-dvb-s2-02bd082116e4aa5d890757253ca5fa70386323e0.tar.gz
mediapointer-dvb-s2-02bd082116e4aa5d890757253ca5fa70386323e0.tar.bz2
bail out early if booting the ARM failed
Diffstat (limited to 'linux/drivers/media/dvb/ttpci/av7110_hw.c')
-rw-r--r--linux/drivers/media/dvb/ttpci/av7110_hw.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/linux/drivers/media/dvb/ttpci/av7110_hw.c b/linux/drivers/media/dvb/ttpci/av7110_hw.c
index bd8eca1f7..52bda9aeb 100644
--- a/linux/drivers/media/dvb/ttpci/av7110_hw.c
+++ b/linux/drivers/media/dvb/ttpci/av7110_hw.c
@@ -515,14 +515,18 @@ int av7110_fw_query(struct av7110 *av7110, u16 tag, u16* buf, s16 length)
****************************************************************************/
/* get version of the firmware ROM, RTSL, video ucode and ARM application */
-void av7110_firmversion(struct av7110 *av7110)
+int av7110_firmversion(struct av7110 *av7110)
{
u16 buf[20];
u16 tag = ((COMTYPE_REQUEST << 8) + ReqVersion);
DEB_EE(("av7110: %p\n", av7110));
- av7110_fw_query(av7110, tag, buf, 16);
+ if (av7110_fw_query(av7110, tag, buf, 16)) {
+ printk("DVB: AV7110-%d: ERROR: Failed to boot firmware\n",
+ av7110->dvb_adapter->num);
+ return -EIO;
+ }
av7110->arm_fw = (buf[0] << 16) + buf[1];
av7110->arm_rtsl = (buf[2] << 16) + buf[3];
@@ -542,7 +546,7 @@ void av7110_firmversion(struct av7110 *av7110)
printk("DVB: AV711%d(%d) - no firmware support for CI link layer interface\n",
av7110->avtype, av7110->dvb_adapter->num);
- return;
+ return 0;
}