qlcnic: Don't use kzalloc unncecessarily for allocating large chunk of memory
authorShahed Shaikh <shahed.shaikh@qlogic.com>
Fri, 7 Aug 2015 11:17:06 +0000 (07:17 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 10 Aug 2015 20:34:28 +0000 (13:34 -0700)
Driver allocates a large chunk of temporary buffer using kzalloc
to copy FW image. As there is no real need of this memory to be
physically contiguous, use vzalloc instead.

Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c

index 753ea8b..bf89216 100644 (file)
@@ -1384,7 +1384,7 @@ static int qlcnic_83xx_copy_fw_file(struct qlcnic_adapter *adapter)
        size_t size;
        u64 addr;
 
-       temp = kzalloc(fw->size, GFP_KERNEL);
+       temp = vzalloc(fw->size);
        if (!temp) {
                release_firmware(fw);
                fw_info->fw = NULL;
@@ -1430,7 +1430,7 @@ static int qlcnic_83xx_copy_fw_file(struct qlcnic_adapter *adapter)
 exit:
        release_firmware(fw);
        fw_info->fw = NULL;
-       kfree(temp);
+       vfree(temp);
 
        return ret;
 }