]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
3c509.c: call SET_NETDEV_DEV for all device types (ISA/ISAPnP/EISA)
authorMatthew Whitehead <tedheadster@gmail.com>
Mon, 29 Apr 2013 21:46:53 +0000 (17:46 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 19 May 2013 17:04:43 +0000 (10:04 -0700)
[ Upstream commit 3b54912f9cd167641b91d4a697bd742f70e534fe ]

The venerable 3c509 driver only sets its device parent in one case, the ISAPnP one.
It does this with the SET_NETDEV_DEV function. It should register with the device
hierarchy in two additional cases: standard (non-PnP) ISA and EISA.

- Currently they appear here:
/sys/devices/virtual/net/eth0 (standard ISA)
/sys/devices/virtual/net/eth1 (EISA)

- Rather, they should instead be here:
/sys/devices/isa/3c509.0/net/eth0 (standard ISA)
/sys/devices/pci0000:00/0000:00:07.0/00:04/net/eth1 (EISA)

Tested on ISA and EISA boards.

Signed-off-by: Matthew Whitehead <tedheadster@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/3c509.c

index 44b28b2d70039e959811a4c9cfa173ed5c6b7b43..15410f74e350a4afb5f78b01f4470552912a4021 100644 (file)
@@ -309,6 +309,7 @@ static int __devinit el3_isa_match(struct device *pdev,
        if (!dev)
                return -ENOMEM;
 
+       SET_NETDEV_DEV(dev, pdev);
        netdev_boot_setup_check(dev);
 
        if (!request_region(ioaddr, EL3_IO_EXTENT, "3c509-isa")) {
@@ -704,6 +705,7 @@ static int __init el3_eisa_probe (struct device *device)
                return -ENOMEM;
        }
 
+       SET_NETDEV_DEV(dev, device);
        netdev_boot_setup_check(dev);
 
        el3_dev_fill(dev, phys_addr, ioaddr, irq, if_port, EL3_EISA);