IPoIB: Free child interfaces properly
authorRoland Dreier <rolandd@cisco.com>
Wed, 10 May 2006 05:54:59 +0000 (22:54 -0700)
committerRoland Dreier <rolandd@cisco.com>
Wed, 10 May 2006 05:54:59 +0000 (22:54 -0700)
When deleting a child interface with a non-default P_Key via
/sys/class/net/ibX/delete_child, the interface must be freed with
free_netdev() (rather than kfree() on the private data).

Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/ulp/ipoib/ipoib_vlan.c

index 4ca1755..f887780 100644 (file)
@@ -158,10 +158,8 @@ int ipoib_vlan_delete(struct net_device *pdev, unsigned short pkey)
                if (priv->pkey == pkey) {
                        unregister_netdev(priv->dev);
                        ipoib_dev_cleanup(priv->dev);
-
                        list_del(&priv->list);
-
-                       kfree(priv);
+                       free_netdev(priv->dev);
 
                        ret = 0;
                        break;