V4L/DVB (7063): xc5000: Fix OOPS caused by missing firmware
authorSteven Toth <stoth@hauppauge.com>
Fri, 25 Jan 2008 01:29:46 +0000 (22:29 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Fri, 25 Jan 2008 21:05:14 +0000 (19:05 -0200)
xc5000: Fix OOPS caused by missing firmware.

Signed-off-by: Chaogui Zhang <czhang1974@gmail.com>
Acked-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/dvb/frontends/xc5000.c

index a13027e..f642ca2 100644 (file)
@@ -558,6 +558,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);
@@ -572,6 +573,7 @@ static int xc5000_fwupload(struct dvb_frontend* fe)
                ret = xc_load_i2c_sequence(fe,  fw->data );
        }
 
+out:
        release_firmware(fw);
        return ret;
 }