Patchwork [3.8.y.z,extended,stable] Patch "3c509.c: call SET_NETDEV_DEV for all device types (ISA/ISAPnP/EISA)" has been added to staging queue

mail settings
Submitter Kamal Mostafa
Date May 24, 2013, 5:37 p.m.
Message ID <>
Download mbox | patch
Permalink /patch/246251/
State New
Headers show


Kamal Mostafa - May 24, 2013, 5:37 p.m.
This is a note to let you know that I have just added a patch titled

    3c509.c: call SET_NETDEV_DEV for all device types (ISA/ISAPnP/EISA)

to the linux-3.8.y-queue branch of the 3.8.y.z extended stable tree 
which can be found at:;a=shortlog;h=refs/heads/linux-3.8.y-queue

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.8.y.z tree, see



From 4144deaad738d869f69d827d5ebbfd1f76d2802e Mon Sep 17 00:00:00 2001
From: Matthew Whitehead <>
Date: Mon, 29 Apr 2013 17:46:53 -0400
Subject: 3c509.c: call SET_NETDEV_DEV for all device types (ISA/ISAPnP/EISA)

[ 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 <>
Signed-off-by: David S. Miller <>
Signed-off-by: Kamal Mostafa <>
 drivers/net/ethernet/3com/3c509.c | 2 ++
 1 file changed, 2 insertions(+)



diff --git a/drivers/net/ethernet/3com/3c509.c b/drivers/net/ethernet/3com/3c509.c
index 633c709..d446bb4 100644
--- a/drivers/net/ethernet/3com/3c509.c
+++ b/drivers/net/ethernet/3com/3c509.c
@@ -306,6 +306,7 @@  static int el3_isa_match(struct device *pdev, unsigned int ndev)
 	if (!dev)
 		return -ENOMEM;

+	SET_NETDEV_DEV(dev, pdev);

 	if (!request_region(ioaddr, EL3_IO_EXTENT, "3c509-isa")) {
@@ -595,6 +596,7 @@  static int __init el3_eisa_probe (struct device *device)
 		return -ENOMEM;

+	SET_NETDEV_DEV(dev, device);

 	el3_dev_fill(dev, phys_addr, ioaddr, irq, if_port, EL3_EISA);