[PATCH] Set hardware MAC address to net_device v2
Dmitry Podgorny
pasis.ua at gmail.com
Mon May 23 13:47:02 EDT 2011
Как насчет такого способа?
---
src/pcnet.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/src/pcnet.c b/src/pcnet.c
index 3c62ddb..f332783 100644
--- a/src/pcnet.c
+++ b/src/pcnet.c
@@ -232,6 +232,7 @@ static int __devinit pcnet_dummy_init_netdev(struct pci_dev *pdev,
struct net_device *ndev = pci_get_drvdata(pdev);
struct pcnet_dummy_private *pp;
int irq;
+ unsigned long hwaddr;
irq = pdev->irq;
pp = netdev_priv(ndev);
@@ -241,6 +242,15 @@ static int __devinit pcnet_dummy_init_netdev(struct pci_dev *pdev,
pp->base = (void *)ioaddr;
spin_lock_init(&pp->lock);
+ hwaddr = ioread32((void *)ioaddr);
+ ndev->dev_addr[0] = hwaddr & 0xff;
+ ndev->dev_addr[1] = hwaddr >> 8 & 0xff;
+ ndev->dev_addr[2] = hwaddr >> 16 & 0xff;
+ ndev->dev_addr[3] = hwaddr >> 24;
+ hwaddr = ioread32((void *)(ioaddr + 4)) & 0xffff;
+ ndev->dev_addr[4] = hwaddr & 0xff;
+ ndev->dev_addr[5] = hwaddr >> 8;
+
/* init DMA rings */
/* init net_dev_ops */
/* FIXME:
--
1.7.5.rc3
More information about the Kernel-russian
mailing list