Commit 1c1832c7 authored by Girish K.S's avatar Girish K.S Committed by David S. Miller

net: sxgbe: Fix NULL dereferece when using DT

When the MAC address is provided in the device tree file, the
condition is true and kernel crashes due to NULL dereference.
Signed-off-by: default avatarGirish K.S <ks.giri@samsung.com>
Signed-off-by: default avatarByungho An <bh74.an@samsung.com>
Signed-off-by: default avatarKukjin Kim <kgene@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 01fbd3f5
...@@ -108,10 +108,6 @@ static int sxgbe_platform_probe(struct platform_device *pdev) ...@@ -108,10 +108,6 @@ static int sxgbe_platform_probe(struct platform_device *pdev)
} }
} }
/* Get MAC address if available (DT) */
if (mac)
ether_addr_copy(priv->dev->dev_addr, mac);
priv = sxgbe_drv_probe(&(pdev->dev), plat_dat, addr); priv = sxgbe_drv_probe(&(pdev->dev), plat_dat, addr);
if (!priv) { if (!priv) {
pr_err("%s: main driver probe failed\n", __func__); pr_err("%s: main driver probe failed\n", __func__);
...@@ -125,6 +121,10 @@ static int sxgbe_platform_probe(struct platform_device *pdev) ...@@ -125,6 +121,10 @@ static int sxgbe_platform_probe(struct platform_device *pdev)
goto err_drv_remove; goto err_drv_remove;
} }
/* Get MAC address if available (DT) */
if (mac)
ether_addr_copy(priv->dev->dev_addr, mac);
/* Get the TX/RX IRQ numbers */ /* Get the TX/RX IRQ numbers */
for (i = 0, chan = 1; i < SXGBE_TX_QUEUES; i++) { for (i = 0, chan = 1; i < SXGBE_TX_QUEUES; i++) {
priv->txq[i]->irq_no = irq_of_parse_and_map(node, chan++); priv->txq[i]->irq_no = irq_of_parse_and_map(node, chan++);
......
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