]> xenbits.xensource.com Git - people/ssmith/nc2-2.6.27.git/commitdiff
patch netback-SET_NETDEV_DEV-before-register_netdev.patch
authorSteven Smith <ssmith@weybridge.uk.xensource.com>
Tue, 30 Jun 2009 11:55:48 +0000 (12:55 +0100)
committerSteven Smith <ssmith@weybridge.uk.xensource.com>
Tue, 30 Jun 2009 11:55:48 +0000 (12:55 +0100)
drivers/xen/netback/common.h
drivers/xen/netback/interface.c
drivers/xen/netback/xenbus.c

index 9e5de49810cad5ee1dfa2e7e641529e8caa3b4c1..f625fb778cdf3422d0ba931d222c5c9d6117b289 100644 (file)
@@ -193,7 +193,7 @@ void netif_accel_init(void);
 
 void netif_disconnect(netif_t *netif);
 
-netif_t *netif_alloc(domid_t domid, unsigned int handle);
+netif_t *netif_alloc(struct device *parent, domid_t domid, unsigned int handle);
 int netif_map(netif_t *netif, unsigned long tx_ring_ref,
              unsigned long rx_ring_ref, unsigned int evtchn);
 
index f206e0b4be372786f8c85d25aabcf74413314fa8..1d21e583a216d71229a1475cacfd06783e924388 100644 (file)
@@ -182,7 +182,7 @@ static struct ethtool_ops network_ethtool_ops =
        .get_strings = netbk_get_strings,
 };
 
-netif_t *netif_alloc(domid_t domid, unsigned int handle)
+netif_t *netif_alloc(struct device *parent, domid_t domid, unsigned int handle)
 {
        int err = 0;
        struct net_device *dev;
@@ -196,6 +196,8 @@ netif_t *netif_alloc(domid_t domid, unsigned int handle)
                return ERR_PTR(-ENOMEM);
        }
 
+       SET_NETDEV_DEV(dev, parent);
+
        netif = netdev_priv(dev);
        memset(netif, 0, sizeof(*netif));
        netif->domid  = domid;
index 5e4924c07958790c221d204bdd7db54efd8edc1f..6437da016b4d15dfbe8737c6795e02a69d62add7 100644 (file)
@@ -215,7 +215,7 @@ static void backend_create_netif(struct backend_info *be)
                return;
        }
 
-       be->netif = netif_alloc(dev->otherend_id, handle);
+       be->netif = netif_alloc(&dev->dev, dev->otherend_id, handle);
        if (IS_ERR(be->netif)) {
                err = PTR_ERR(be->netif);
                be->netif = NULL;
@@ -223,7 +223,6 @@ static void backend_create_netif(struct backend_info *be)
                return;
        }
        be->netif->be = be;
-       SET_NETDEV_DEV(be->netif->dev, &dev->dev);
 
        kobject_uevent(&dev->dev.kobj, KOBJ_ONLINE);
 }