diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/usb.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/usb.c b/drivers/net/wireless/brcm80211/brcmfmac/usb.c index 1d67ecf681b7..3e3524756263 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/usb.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/usb.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <linux/uaccess.h> | 28 | #include <linux/uaccess.h> |
29 | #include <linux/firmware.h> | 29 | #include <linux/firmware.h> |
30 | #include <linux/usb.h> | 30 | #include <linux/usb.h> |
31 | #include <linux/vmalloc.h> | ||
31 | #include <net/cfg80211.h> | 32 | #include <net/cfg80211.h> |
32 | 33 | ||
33 | #include <defs.h> | 34 | #include <defs.h> |
@@ -1239,7 +1240,7 @@ static int brcmf_usb_get_fw(struct brcmf_usbdev_info *devinfo) | |||
1239 | return -EINVAL; | 1240 | return -EINVAL; |
1240 | } | 1241 | } |
1241 | 1242 | ||
1242 | devinfo->image = kmalloc(fw->size, GFP_ATOMIC); /* plus nvram */ | 1243 | devinfo->image = vmalloc(fw->size); /* plus nvram */ |
1243 | if (!devinfo->image) | 1244 | if (!devinfo->image) |
1244 | return -ENOMEM; | 1245 | return -ENOMEM; |
1245 | 1246 | ||
@@ -1602,7 +1603,7 @@ static struct usb_driver brcmf_usbdrvr = { | |||
1602 | void brcmf_usb_exit(void) | 1603 | void brcmf_usb_exit(void) |
1603 | { | 1604 | { |
1604 | usb_deregister(&brcmf_usbdrvr); | 1605 | usb_deregister(&brcmf_usbdrvr); |
1605 | kfree(g_image.data); | 1606 | vfree(g_image.data); |
1606 | g_image.data = NULL; | 1607 | g_image.data = NULL; |
1607 | g_image.len = 0; | 1608 | g_image.len = 0; |
1608 | } | 1609 | } |