diff options
author | Roland Dreier <rolandd@cisco.com> | 2006-05-09 22:54:59 -0700 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2006-05-09 22:54:59 -0700 |
commit | 5941d079f2c3bdf0dffed1afb8941678fcd0bcb7 (patch) | |
tree | ba07f5ef258f51e095d0bc3fa77d03321b8866a2 | |
parent | a3285aa4eecd722508dab01c4932b11b4ba80134 (diff) |
IPoIB: Free child interfaces properly
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>
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_vlan.c b/drivers/infiniband/ulp/ipoib/ipoib_vlan.c index 4ca175553f9f..f887780e8093 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_vlan.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_vlan.c @@ -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; |