Skip to content

Commit

Permalink
mac80211: Merge error paths in mesh_table_grow().
Browse files Browse the repository at this point in the history
This is the first (of two) clean ups after the fixes above.

The err variable is not even required after this cleaning.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Pavel Emelyanov authored and John W. Linville committed May 22, 2008
1 parent 3282aea commit a3538b1
Showing 1 changed file with 4 additions and 12 deletions.
16 changes: 4 additions & 12 deletions net/mac80211/mesh.c
Original file line number Diff line number Diff line change
Expand Up @@ -350,20 +350,15 @@ struct mesh_table *mesh_table_grow(struct mesh_table *tbl)
struct mesh_table *newtbl;
struct hlist_head *oldhash;
struct hlist_node *p, *q;
int err = 0;
int i;

if (atomic_read(&tbl->entries)
< tbl->mean_chain_len * (tbl->hash_mask + 1)) {
err = -EPERM;
< tbl->mean_chain_len * (tbl->hash_mask + 1))
goto endgrow;
}

newtbl = mesh_table_alloc(tbl->size_order + 1);
if (!newtbl) {
err = -ENOMEM;
if (!newtbl)
goto endgrow;
}

newtbl->free_node = tbl->free_node;
newtbl->mean_chain_len = tbl->mean_chain_len;
Expand All @@ -376,11 +371,7 @@ struct mesh_table *mesh_table_grow(struct mesh_table *tbl)
if (tbl->copy_node(p, newtbl) < 0)
goto errcopy;

endgrow:
if (err)
return NULL;
else
return newtbl;
return newtbl;

errcopy:
for (i = 0; i <= newtbl->hash_mask; i++) {
Expand All @@ -390,6 +381,7 @@ struct mesh_table *mesh_table_grow(struct mesh_table *tbl)
kfree(newtbl->hash_buckets);
kfree(newtbl->hashwlock);
kfree(newtbl);
endgrow:
return NULL;
}

Expand Down

0 comments on commit a3538b1

Please sign in to comment.