diff options
| author | Roland Dreier <rolandd@cisco.com> | 2006-05-10 01:54:59 -0400 |
|---|---|---|
| committer | Roland Dreier <rolandd@cisco.com> | 2006-05-10 01:54:59 -0400 |
| 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) | |||
| 158 | if (priv->pkey == pkey) { | 158 | if (priv->pkey == pkey) { |
| 159 | unregister_netdev(priv->dev); | 159 | unregister_netdev(priv->dev); |
| 160 | ipoib_dev_cleanup(priv->dev); | 160 | ipoib_dev_cleanup(priv->dev); |
| 161 | |||
| 162 | list_del(&priv->list); | 161 | list_del(&priv->list); |
| 163 | 162 | free_netdev(priv->dev); | |
| 164 | kfree(priv); | ||
| 165 | 163 | ||
| 166 | ret = 0; | 164 | ret = 0; |
| 167 | break; | 165 | break; |
