aboutsummaryrefslogtreecommitdiffstats
path: root/sound/sound_firmware.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/sound_firmware.c')
-rw-r--r--sound/sound_firmware.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sound/sound_firmware.c b/sound/sound_firmware.c
index e14903468051..b155137ee312 100644
--- a/sound/sound_firmware.c
+++ b/sound/sound_firmware.c
@@ -1,6 +1,7 @@
1#include <linux/vmalloc.h> 1#include <linux/vmalloc.h>
2#include <linux/module.h> 2#include <linux/module.h>
3#include <linux/fs.h> 3#include <linux/fs.h>
4#include <linux/file.h>
4#include <linux/mm.h> 5#include <linux/mm.h>
5#include <linux/sched.h> 6#include <linux/sched.h>
6#include <asm/uaccess.h> 7#include <asm/uaccess.h>
@@ -23,14 +24,14 @@ static int do_mod_firmware_load(const char *fn, char **fp)
23 if (l <= 0 || l > 131072) 24 if (l <= 0 || l > 131072)
24 { 25 {
25 printk(KERN_INFO "Invalid firmware '%s'\n", fn); 26 printk(KERN_INFO "Invalid firmware '%s'\n", fn);
26 filp_close(filp, NULL); 27 fput(filp);
27 return 0; 28 return 0;
28 } 29 }
29 dp = vmalloc(l); 30 dp = vmalloc(l);
30 if (dp == NULL) 31 if (dp == NULL)
31 { 32 {
32 printk(KERN_INFO "Out of memory loading '%s'.\n", fn); 33 printk(KERN_INFO "Out of memory loading '%s'.\n", fn);
33 filp_close(filp, NULL); 34 fput(filp);
34 return 0; 35 return 0;
35 } 36 }
36 pos = 0; 37 pos = 0;
@@ -38,10 +39,10 @@ static int do_mod_firmware_load(const char *fn, char **fp)
38 { 39 {
39 printk(KERN_INFO "Failed to read '%s'.\n", fn); 40 printk(KERN_INFO "Failed to read '%s'.\n", fn);
40 vfree(dp); 41 vfree(dp);
41 filp_close(filp, NULL); 42 fput(filp);
42 return 0; 43 return 0;
43 } 44 }
44 filp_close(filp, NULL); 45 fput(filp);
45 *fp = dp; 46 *fp = dp;
46 return (int) l; 47 return (int) l;
47} 48}