Commit 3fc38e26 authored by Manish Chopra's avatar Manish Chopra Committed by David S. Miller

qlcnic: Fix memory allocation

o Use vzalloc() instead of kzalloc() for allocation of
  bootloader size memory. kzalloc() may fail to allocate
  the size of bootloader
Signed-off-by: default avatarManish Chopra <manish.chopra@qlogic.com>
Signed-off-by: default avatarHimanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b17a44d8
...@@ -1254,24 +1254,24 @@ static int qlcnic_83xx_copy_bootloader(struct qlcnic_adapter *adapter) ...@@ -1254,24 +1254,24 @@ static int qlcnic_83xx_copy_bootloader(struct qlcnic_adapter *adapter)
if (size & 0xF) if (size & 0xF)
size = (size + 16) & ~0xF; size = (size + 16) & ~0xF;
p_cache = kzalloc(size, GFP_KERNEL); p_cache = vzalloc(size);
if (p_cache == NULL) if (p_cache == NULL)
return -ENOMEM; return -ENOMEM;
ret = qlcnic_83xx_lockless_flash_read32(adapter, src, p_cache, ret = qlcnic_83xx_lockless_flash_read32(adapter, src, p_cache,
size / sizeof(u32)); size / sizeof(u32));
if (ret) { if (ret) {
kfree(p_cache); vfree(p_cache);
return ret; return ret;
} }
/* 16 byte write to MS memory */ /* 16 byte write to MS memory */
ret = qlcnic_83xx_ms_mem_write128(adapter, dest, (u32 *)p_cache, ret = qlcnic_83xx_ms_mem_write128(adapter, dest, (u32 *)p_cache,
size / 16); size / 16);
if (ret) { if (ret) {
kfree(p_cache); vfree(p_cache);
return ret; return ret;
} }
kfree(p_cache); vfree(p_cache);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment