Commit 575ced7f authored by Oliver Neukum's avatar Oliver Neukum Committed by David S. Miller

kaweth: fix oops upon failed memory allocation

Just return an error upon failure.
Signed-off-by: default avatarOliver Neukum <oneukum@suse.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 60bcabd0
...@@ -1009,6 +1009,7 @@ static int kaweth_probe( ...@@ -1009,6 +1009,7 @@ static int kaweth_probe(
struct net_device *netdev; struct net_device *netdev;
const eth_addr_t bcast_addr = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; const eth_addr_t bcast_addr = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
int result = 0; int result = 0;
int rv = -EIO;
dev_dbg(dev, dev_dbg(dev,
"Kawasaki Device Probe (Device number:%d): 0x%4.4x:0x%4.4x:0x%4.4x\n", "Kawasaki Device Probe (Device number:%d): 0x%4.4x:0x%4.4x:0x%4.4x\n",
...@@ -1049,6 +1050,10 @@ static int kaweth_probe( ...@@ -1049,6 +1050,10 @@ static int kaweth_probe(
/* Download the firmware */ /* Download the firmware */
dev_info(dev, "Downloading firmware...\n"); dev_info(dev, "Downloading firmware...\n");
kaweth->firmware_buf = (__u8 *)__get_free_page(GFP_KERNEL); kaweth->firmware_buf = (__u8 *)__get_free_page(GFP_KERNEL);
if (!kaweth->firmware_buf) {
rv = -ENOMEM;
goto err_free_netdev;
}
if ((result = kaweth_download_firmware(kaweth, if ((result = kaweth_download_firmware(kaweth,
"kaweth/new_code.bin", "kaweth/new_code.bin",
100, 100,
...@@ -1203,7 +1208,7 @@ static int kaweth_probe( ...@@ -1203,7 +1208,7 @@ static int kaweth_probe(
err_free_netdev: err_free_netdev:
free_netdev(netdev); free_netdev(netdev);
return -EIO; return rv;
} }
/**************************************************************** /****************************************************************
......
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