summaryrefslogtreecommitdiff
path: root/linux/drivers
diff options
context:
space:
mode:
authorSteven Toth <stoth@hauppauge.com>2008-01-24 20:29:46 -0500
committerSteven Toth <stoth@hauppauge.com>2008-01-24 20:29:46 -0500
commit79d7a8fa3abdd3bd08fa3347cb2d4bd7b43555af (patch)
treeb918dc23c5c71e0d529a6c9a560cb8ae597020bb /linux/drivers
parent739286f8598c1606b5ce283e2afcacd8be8cb96a (diff)
downloadmediapointer-dvb-s2-79d7a8fa3abdd3bd08fa3347cb2d4bd7b43555af.tar.gz
mediapointer-dvb-s2-79d7a8fa3abdd3bd08fa3347cb2d4bd7b43555af.tar.bz2
xc5000: Fix OOPS caused by missing firmware.
From: Steven Toth <stoth@hauppauge.com> xc5000: Fix OOPS caused by missing firmware. Signed-off-by: Chaogui Zhang <czhang1974@gmail.com> Acked-by: Steven Toth <stoth@hauppauge.com>
Diffstat (limited to 'linux/drivers')
-rw-r--r--linux/drivers/media/dvb/frontends/xc5000.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/linux/drivers/media/dvb/frontends/xc5000.c b/linux/drivers/media/dvb/frontends/xc5000.c
index 5afa58a06..58235d007 100644
--- a/linux/drivers/media/dvb/frontends/xc5000.c
+++ b/linux/drivers/media/dvb/frontends/xc5000.c
@@ -577,6 +577,7 @@ static int xc5000_fwupload(struct dvb_frontend* fe)
if (ret) {
printk(KERN_ERR "xc5000: Upload failed. (file not found?)\n");
ret = XC_RESULT_RESET_FAILURE;
+ goto out;
} else {
printk(KERN_INFO "xc5000: firmware read %Zu bytes.\n",
fw->size);
@@ -591,6 +592,7 @@ static int xc5000_fwupload(struct dvb_frontend* fe)
ret = xc_load_i2c_sequence(fe, fw->data );
}
+out:
release_firmware(fw);
return ret;
}