[linux-dvb] problems and workaround when tuning to a channel with
DD enabled
Wolfgang Rohdewald
wolfgang at rohdewald.de
Tue Jun 7 19:25:32 CEST 2005
On Dienstag 07 Juni 2005 17:44, Johannes Stezenbach wrote:
> Why don't you just fix the problem with the b0rked error
> handling in Load/BlitBitmap and be done with it?
I would also have to look at the other problem when replaying
DolbySurround.
Anyway I'll try to fix this but I need some help to understand
the code.
Just to test if my thinking is correct, what would you say about this: (yet
untested, and when everything is stable I would remove the KERN_INFO about
the interrupt)
--- 12.org/drivers/media/dvb/ttpci/av7110_hw.c 2005-06-06 09:08:08.000000000 +0200
+++ linux/drivers/media/dvb/ttpci/av7110_hw.c 2005-06-07 19:23:45.000000000 +0200
@@ -471,8 +471,12 @@
ret = __av7110_send_fw_cmd(av7110, buf, length);
up(&av7110->dcomlock);
if (ret)
- printk(KERN_ERR "dvb-ttpci: %s(): av7110_send_fw_cmd error %d\n",
- __FUNCTION__, ret);
+ if (ret==-ERESTARTSYS)
+ printk(KERN_INFO "dvb-ttpci: %s(): av7110_send_fw_cmd interrupted\n",
+ __FUNCTION__);
+ else
+ printk(KERN_ERR "dvb-ttpci: %s(): av7110_send_fw_cmd error %d\n",
+ __FUNCTION__, ret);
return ret;
}
@@ -1111,10 +1115,14 @@
textbuf[239] = 0;
if (dc->x1 > 3)
dc->x1 = 3;
- SetFont(av7110, av7110->osdwin, dc->x1,
+ ret = SetFont(av7110, av7110->osdwin, dc->x1,
(u16) (dc->color & 0xffff), (u16) (dc->color >> 16));
- FlushText(av7110);
- WriteText(av7110, av7110->osdwin, dc->x0, dc->y0, textbuf);
+ if (ret)
+ goto out;
+ ret = FlushText(av7110);
+ if (ret)
+ goto out;
+ ret = WriteText(av7110, av7110->osdwin, dc->x0, dc->y0, textbuf);
goto out;
}
case OSD_SetWindow:
--
Wolfgang
More information about the linux-dvb
mailing list