diff options
Diffstat (limited to 'sound/sound_firmware.c')
-rw-r--r-- | sound/sound_firmware.c | 9 |
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 | } |