[PATCH] Set hardware MAC address to net_device v2

Denis Kirjanov dkirjanov at kernel.org
Mon May 23 14:18:37 EDT 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 05/23/2011 09:47 PM, Dmitry Podgorny wrote:
> Как насчет такого способа?
Acked-by: Denis Kirjanov <dkirjanov at kernel.org>
> ---
>  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:

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJN2qTcAAoJEMzN0iEaDJKm4qkH/A+fIBDxa4GPTnIl8COry664
QLh71OAz9qGr8EOAzWv03dhhDUcJEYmLDD+y/kmUGo3831KmnFTnBc20WRZmqGuF
XLBnelhhEBVbekZW/MAMbPpFpjKZNkKsGWJtT8ScnJehvrUhM3xRh6R6MOxKJRKp
Lr4Czfhso9X18PExQMjC1GuANqmKUaymek9/uyUnPKU3/SOO14sYtf1Dz7K9Hw+j
icIZPvZY0e9Wez1o2K24sBJpz9L1lMw3Wnb0THezO1M4wops/OlZOzKdTb4gHuqq
PyVVa8lyYA2O5IgQUegp6i+Apbds6ydbHNrT/0eBndvEl2e+kDrHhArfgRk6CGc=
=EWsb
-----END PGP SIGNATURE-----



More information about the Kernel-russian mailing list