diff --git a/[refs] b/[refs] index d5b447ac537c..ab0fc28e9bd5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2dc2f207fb251666d2396fe1a69272b307ecc333 +refs/heads/master: cecbb63967b4f36701b9412a12377e8fe006a93b diff --git a/trunk/net/core/neighbour.c b/trunk/net/core/neighbour.c index cc8a2f190acf..29b8ee4e35d6 100644 --- a/trunk/net/core/neighbour.c +++ b/trunk/net/core/neighbour.c @@ -1316,6 +1316,8 @@ void neigh_parms_release(struct neigh_table *tbl, struct neigh_parms *parms) *p = parms->next; parms->dead = 1; write_unlock_bh(&tbl->lock); + if (parms->dev) + dev_put(parms->dev); call_rcu(&parms->rcu_head, neigh_rcu_free_parms); return; } @@ -1326,8 +1328,6 @@ void neigh_parms_release(struct neigh_table *tbl, struct neigh_parms *parms) void neigh_parms_destroy(struct neigh_parms *parms) { - if (parms->dev) - dev_put(parms->dev); kfree(parms); }