summaryrefslogtreecommitdiffstats
path: root/drivers/ata/sata_sx4.c
diff options
context:
space:
mode:
authorInsu Yun <wuninsu@gmail.com>2015-12-29 16:21:15 -0500
committerTejun Heo <tj@kernel.org>2015-12-31 21:33:42 -0500
commit427cc61a4486fa80eccaad2bdfcc50cfd1b46625 (patch)
treeaebf7116d2457bb18ea94f2286388f29330f66d7 /drivers/ata/sata_sx4.c
parent1980eb9bd7d733ce089f9b154c08c2c71fb1f2a7 (diff)
downloadlinux-0-day-427cc61a4486fa80eccaad2bdfcc50cfd1b46625.tar.gz
linux-0-day-427cc61a4486fa80eccaad2bdfcc50cfd1b46625.tar.xz
sata_sx4: correctly handling failed allocation
Since kzalloc can be failed in memory pressure, return error when failed. Signed-off-by: Insu Yun <wuninsu@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'drivers/ata/sata_sx4.c')
-rw-r--r--drivers/ata/sata_sx4.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c
index fab504fd9cfd7..48301cb3a3165 100644
--- a/drivers/ata/sata_sx4.c
+++ b/drivers/ata/sata_sx4.c
@@ -1396,6 +1396,8 @@ static unsigned int pdc20621_dimm_init(struct ata_host *host)
addr = 0;
length = size * 1024 * 1024;
buf = kzalloc(ECC_ERASE_BUF_SZ, GFP_KERNEL);
+ if (!buf)
+ return 1;
while (addr < length) {
pdc20621_put_to_dimm(host, buf, addr,
ECC_ERASE_BUF_SZ);