|
@@ -1009,6 +1009,7 @@ static int kaweth_probe(
|
|
|
struct net_device *netdev;
|
|
|
const eth_addr_t bcast_addr = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
|
|
|
int result = 0;
|
|
|
+ int rv = -EIO;
|
|
|
|
|
|
dev_dbg(dev,
|
|
|
"Kawasaki Device Probe (Device number:%d): 0x%4.4x:0x%4.4x:0x%4.4x\n",
|
|
@@ -1029,6 +1030,7 @@ static int kaweth_probe(
|
|
|
kaweth = netdev_priv(netdev);
|
|
|
kaweth->dev = udev;
|
|
|
kaweth->net = netdev;
|
|
|
+ kaweth->intf = intf;
|
|
|
|
|
|
spin_lock_init(&kaweth->device_lock);
|
|
|
init_waitqueue_head(&kaweth->term_wait);
|
|
@@ -1048,6 +1050,10 @@ static int kaweth_probe(
|
|
|
/* Download the firmware */
|
|
|
dev_info(dev, "Downloading firmware...\n");
|
|
|
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,
|
|
|
"kaweth/new_code.bin",
|
|
|
100,
|
|
@@ -1139,8 +1145,6 @@ err_fw:
|
|
|
|
|
|
dev_dbg(dev, "Initializing net device.\n");
|
|
|
|
|
|
- kaweth->intf = intf;
|
|
|
-
|
|
|
kaweth->tx_urb = usb_alloc_urb(0, GFP_KERNEL);
|
|
|
if (!kaweth->tx_urb)
|
|
|
goto err_free_netdev;
|
|
@@ -1204,7 +1208,7 @@ err_only_tx:
|
|
|
err_free_netdev:
|
|
|
free_netdev(netdev);
|
|
|
|
|
|
- return -EIO;
|
|
|
+ return rv;
|
|
|
}
|
|
|
|
|
|
/****************************************************************
|