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: Girish K.S <ks.giri@samsung.com> Signed-off-by: Byungho An <bh74.an@samsung.com> Signed-off-by: Kukjin Kim <kgene@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
01fbd3f55c
Коммит
1c1832c7cd
|
@ -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);
|
||||
if (!priv) {
|
||||
pr_err("%s: main driver probe failed\n", __func__);
|
||||
|
@ -125,6 +121,10 @@ static int sxgbe_platform_probe(struct platform_device *pdev)
|
|||
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 */
|
||||
for (i = 0, chan = 1; i < SXGBE_TX_QUEUES; i++) {
|
||||
priv->txq[i]->irq_no = irq_of_parse_and_map(node, chan++);
|
||||
|
|
Загрузка…
Ссылка в новой задаче