summaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/frontends/sp8870.c
diff options
context:
space:
mode:
authorMagnus Damm <magnus@valinux.co.jp>2006-07-10 04:44:09 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-07-10 13:24:15 -0700
commit73ca66b97b73257a7d832d502c36fc19fe847809 (patch)
treed39f50b1931d67c51e56f891b785be1143599177 /drivers/media/dvb/frontends/sp8870.c
parent454d6fbc48374be8f53b9bafaa86530cf8eb3bc1 (diff)
downloadlinux-73ca66b97b73257a7d832d502c36fc19fe847809.tar.gz
linux-73ca66b97b73257a7d832d502c36fc19fe847809.tar.bz2
linux-73ca66b97b73257a7d832d502c36fc19fe847809.zip
[PATCH] release_firmware() fixes
Use release_firmware() to free requested resources. According to Documentation/firmware_class/README the request_firmware() call should be followed by a release_firmware(). Some drivers do not however free the firmware previously allocated with request_firmware(). This patch tries to fix this by making sure that release_firmware() is used as expected. Signed-off-by: Magnus Damm <magnus@valinux.co.jp> Acked-by: Marcel Holtmann <marcel@holtmann.org> Cc: Mauro Carvalho Chehab <mchehab@infradead.org> Cc: "John W. Linville" <linville@tuxdriver.com> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/media/dvb/frontends/sp8870.c')
-rw-r--r--drivers/media/dvb/frontends/sp8870.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/dvb/frontends/sp8870.c b/drivers/media/dvb/frontends/sp8870.c
index 44ec5b9a4695..d98fd5c2e13e 100644
--- a/drivers/media/dvb/frontends/sp8870.c
+++ b/drivers/media/dvb/frontends/sp8870.c
@@ -318,7 +318,6 @@ static int sp8870_init (struct dvb_frontend* fe)
printk("sp8870: waiting for firmware upload (%s)...\n", SP8870_DEFAULT_FIRMWARE);
if (state->config->request_firmware(fe, &fw, SP8870_DEFAULT_FIRMWARE)) {
printk("sp8870: no firmware upload (timeout or file not found?)\n");
- release_firmware(fw);
return -EIO;
}
@@ -327,6 +326,7 @@ static int sp8870_init (struct dvb_frontend* fe)
release_firmware(fw);
return -EIO;
}
+ release_firmware(fw);
printk("sp8870: firmware upload complete\n");
/* enable TS output and interface pins */