Commit d0dc1129 authored by Marcel van Nies's avatar Marcel van Nies Committed by David S. Miller

[SUNQE]: Fix MAC address assignment.

The MAC address assignment at module loading is simply forgotten.
The bug at module unloading is caused by an incorrect call.

The bug at module unloading does not only happen for sunqe,
sunlance and sunhme (sbus) suffer from it too.

I've tested this on my SS20.
Signed-off-by: default avatarMarcel van Nies <morcles@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2e6679a0
...@@ -845,6 +845,8 @@ static int __init qec_ether_init(struct sbus_dev *sdev) ...@@ -845,6 +845,8 @@ static int __init qec_ether_init(struct sbus_dev *sdev)
if (!dev) if (!dev)
return -ENOMEM; return -ENOMEM;
memcpy(dev->dev_addr, idprom->id_ethaddr, 6);
qe = netdev_priv(dev); qe = netdev_priv(dev);
i = of_getintprop_default(sdev->ofdev.node, "channel#", -1); i = of_getintprop_default(sdev->ofdev.node, "channel#", -1);
...@@ -960,7 +962,7 @@ static int __devexit qec_sbus_remove(struct of_device *dev) ...@@ -960,7 +962,7 @@ static int __devexit qec_sbus_remove(struct of_device *dev)
struct sunqe *qp = dev_get_drvdata(&dev->dev); struct sunqe *qp = dev_get_drvdata(&dev->dev);
struct net_device *net_dev = qp->dev; struct net_device *net_dev = qp->dev;
unregister_netdevice(net_dev); unregister_netdev(net_dev);
sbus_iounmap(qp->qcregs, CREG_REG_SIZE); sbus_iounmap(qp->qcregs, CREG_REG_SIZE);
sbus_iounmap(qp->mregs, MREGS_REG_SIZE); sbus_iounmap(qp->mregs, MREGS_REG_SIZE);
......
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