diff options
Diffstat (limited to 'drivers/net/usb/kaweth.c')
-rw-r--r-- | drivers/net/usb/kaweth.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/usb/kaweth.c b/drivers/net/usb/kaweth.c index 770212baaf05..528b9c9c4e60 100644 --- a/drivers/net/usb/kaweth.c +++ b/drivers/net/usb/kaweth.c | |||
@@ -1009,6 +1009,7 @@ static int kaweth_probe( | |||
1009 | struct net_device *netdev; | 1009 | struct net_device *netdev; |
1010 | const eth_addr_t bcast_addr = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; | 1010 | const eth_addr_t bcast_addr = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; |
1011 | int result = 0; | 1011 | int result = 0; |
1012 | int rv = -EIO; | ||
1012 | 1013 | ||
1013 | dev_dbg(dev, | 1014 | dev_dbg(dev, |
1014 | "Kawasaki Device Probe (Device number:%d): 0x%4.4x:0x%4.4x:0x%4.4x\n", | 1015 | "Kawasaki Device Probe (Device number:%d): 0x%4.4x:0x%4.4x:0x%4.4x\n", |
@@ -1029,6 +1030,7 @@ static int kaweth_probe( | |||
1029 | kaweth = netdev_priv(netdev); | 1030 | kaweth = netdev_priv(netdev); |
1030 | kaweth->dev = udev; | 1031 | kaweth->dev = udev; |
1031 | kaweth->net = netdev; | 1032 | kaweth->net = netdev; |
1033 | kaweth->intf = intf; | ||
1032 | 1034 | ||
1033 | spin_lock_init(&kaweth->device_lock); | 1035 | spin_lock_init(&kaweth->device_lock); |
1034 | init_waitqueue_head(&kaweth->term_wait); | 1036 | init_waitqueue_head(&kaweth->term_wait); |
@@ -1048,6 +1050,10 @@ static int kaweth_probe( | |||
1048 | /* Download the firmware */ | 1050 | /* Download the firmware */ |
1049 | dev_info(dev, "Downloading firmware...\n"); | 1051 | dev_info(dev, "Downloading firmware...\n"); |
1050 | kaweth->firmware_buf = (__u8 *)__get_free_page(GFP_KERNEL); | 1052 | kaweth->firmware_buf = (__u8 *)__get_free_page(GFP_KERNEL); |
1053 | if (!kaweth->firmware_buf) { | ||
1054 | rv = -ENOMEM; | ||
1055 | goto err_free_netdev; | ||
1056 | } | ||
1051 | if ((result = kaweth_download_firmware(kaweth, | 1057 | if ((result = kaweth_download_firmware(kaweth, |
1052 | "kaweth/new_code.bin", | 1058 | "kaweth/new_code.bin", |
1053 | 100, | 1059 | 100, |
@@ -1139,8 +1145,6 @@ err_fw: | |||
1139 | 1145 | ||
1140 | dev_dbg(dev, "Initializing net device.\n"); | 1146 | dev_dbg(dev, "Initializing net device.\n"); |
1141 | 1147 | ||
1142 | kaweth->intf = intf; | ||
1143 | |||
1144 | kaweth->tx_urb = usb_alloc_urb(0, GFP_KERNEL); | 1148 | kaweth->tx_urb = usb_alloc_urb(0, GFP_KERNEL); |
1145 | if (!kaweth->tx_urb) | 1149 | if (!kaweth->tx_urb) |
1146 | goto err_free_netdev; | 1150 | goto err_free_netdev; |
@@ -1204,7 +1208,7 @@ err_only_tx: | |||
1204 | err_free_netdev: | 1208 | err_free_netdev: |
1205 | free_netdev(netdev); | 1209 | free_netdev(netdev); |
1206 | 1210 | ||
1207 | return -EIO; | 1211 | return rv; |
1208 | } | 1212 | } |
1209 | 1213 | ||
1210 | /**************************************************************** | 1214 | /**************************************************************** |