summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/ni/nixge.c
diff options
context:
space:
mode:
authorWolfram Sang <wsa@the-dreams.de>2018-05-17 16:29:19 +0200
committerWolfram Sang <wsa@the-dreams.de>2018-05-17 16:29:19 +0200
commit3d8b7a4ea310f3621a19d50cbe6cbc89bb23b82f (patch)
tree51a261418928d8499ecade36f74e74fc92396503 /drivers/net/ethernet/ni/nixge.c
parentc599eb4ff6e0f9c525695faab7149d8d48743b1c (diff)
parentcaaccda136ae3fa1c5f6563aae22ca3c199f563a (diff)
downloadtalos-obmc-linux-3d8b7a4ea310f3621a19d50cbe6cbc89bb23b82f.tar.gz
talos-obmc-linux-3d8b7a4ea310f3621a19d50cbe6cbc89bb23b82f.zip
Merge branch 'i2c/platform_data-immutable' into i2c/for-4.18
Diffstat (limited to 'drivers/net/ethernet/ni/nixge.c')
-rw-r--r--drivers/net/ethernet/ni/nixge.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/ethernet/ni/nixge.c b/drivers/net/ethernet/ni/nixge.c
index 27364b7572fc..b092894dd128 100644
--- a/drivers/net/ethernet/ni/nixge.c
+++ b/drivers/net/ethernet/ni/nixge.c
@@ -1170,7 +1170,7 @@ static void *nixge_get_nvmem_address(struct device *dev)
cell = nvmem_cell_get(dev, "address");
if (IS_ERR(cell))
- return cell;
+ return NULL;
mac = nvmem_cell_read(cell, &cell_size);
nvmem_cell_put(cell);
@@ -1183,7 +1183,7 @@ static int nixge_probe(struct platform_device *pdev)
struct nixge_priv *priv;
struct net_device *ndev;
struct resource *dmares;
- const char *mac_addr;
+ const u8 *mac_addr;
int err;
ndev = alloc_etherdev(sizeof(*priv));
@@ -1202,10 +1202,12 @@ static int nixge_probe(struct platform_device *pdev)
ndev->max_mtu = NIXGE_JUMBO_MTU;
mac_addr = nixge_get_nvmem_address(&pdev->dev);
- if (mac_addr && is_valid_ether_addr(mac_addr))
+ if (mac_addr && is_valid_ether_addr(mac_addr)) {
ether_addr_copy(ndev->dev_addr, mac_addr);
- else
+ kfree(mac_addr);
+ } else {
eth_hw_addr_random(ndev);
+ }
priv = netdev_priv(ndev);
priv->ndev = ndev;
OpenPOWER on IntegriCloud