2005-04-27 14:15:28

by Gerd Knorr

[permalink] [raw]
Subject: [patch 1/2] cx88-dvb oops fix

Fixup error path, without that one the driver kills the machine by
oopsing in the IRQ handler in case the frontend initialization fails.

Signed-off-by: Gerd Knorr <[email protected]>
---
drivers/media/video/cx88/cx88-dvb.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)

Index: linux-2.6.12-rc3/drivers/media/video/cx88/cx88-dvb.c
===================================================================
--- linux-2.6.12-rc3.orig/drivers/media/video/cx88/cx88-dvb.c 2005-04-27 14:40:38.000000000 +0200
+++ linux-2.6.12-rc3/drivers/media/video/cx88/cx88-dvb.c 2005-04-27 15:19:38.000000000 +0200
@@ -243,10 +243,8 @@ static int dvb_register(struct cx8802_de
break;
#endif
default:
- printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n"
- "%s: you might want to look out for patches here:\n"
- "%s: http://dl.bytesex.org/patches/\n",
- dev->core->name, dev->core->name, dev->core->name);
+ printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n",
+ dev->core->name);
break;
}
if (NULL == dev->dvb.frontend) {
@@ -308,9 +306,11 @@ static int __devinit dvb_probe(struct pc
dev);
err = dvb_register(dev);
if (0 != err)
- goto fail_free;
+ goto fail_fini;
return 0;

+ fail_fini:
+ cx8802_fini_common(dev);
fail_free:
kfree(dev);
fail_core:

--
#define printk(args...) fprintf(stderr, ## args)