]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
[PATCH] ieee1394: eth1394: bring back a parent device
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Wed, 30 May 2007 05:33:47 +0000 (07:33 +0200)
committerChris Wright <chrisw@sous-sol.org>
Mon, 11 Jun 2007 18:36:46 +0000 (11:36 -0700)
This adds a real parent device to eth1394's ethX device like in Linux
2.6.20 and older.  However, due to unfinished conversion of the ieee1394
away from class_device, we now refer to the FireWire controller's PCI
device as the parent, not to the ieee1394 driver's fw-host device.

Having a real parent device instead of a virtual one allows udev scripts
to distinguish eth1394 interfaces from networking bridges, bondings and
the likes.

Fixes a regression since 2.6.21:
https://bugs.gentoo.org/show_bug.cgi?id=177199

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/ieee1394/eth1394.c

index 03e44b337eb018c488073aa015c6dd63d481ed2e..6c819513a930dd70a2cf9fd8711422c778996a65 100644 (file)
@@ -584,10 +584,9 @@ static void ether1394_add_host (struct hpsb_host *host)
         }
 
        SET_MODULE_OWNER(dev);
-#if 0
-       /* FIXME - Is this the correct parent device anyway? */
-       SET_NETDEV_DEV(dev, &host->device);
-#endif
+
+       /* This used to be &host->device in Linux 2.6.20 and before. */
+       SET_NETDEV_DEV(dev, host->device.parent);
 
        priv = netdev_priv(dev);