diff options
| author | 2013-08-16 15:37:26 -0700 | |
|---|---|---|
| committer | 2013-08-16 15:37:26 -0700 | |
| commit | 2ff1cf12c9fe70e75e600404e6a4274b19d293ed (patch) | |
| tree | beafddac0a8098e3f07d2ec60e44a2a7d006e605 /net/tipc | |
| parent | netlink: Eliminate kmalloc in netlink dump operation. (diff) | |
| parent | Merge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mturquette/linux (diff) | |
| download | linux-dev-2ff1cf12c9fe70e75e600404e6a4274b19d293ed.tar.xz linux-dev-2ff1cf12c9fe70e75e600404e6a4274b19d293ed.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'net/tipc')
| -rw-r--r-- | net/tipc/bearer.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/net/tipc/bearer.c b/net/tipc/bearer.c index cb29ef7ba2f0..609c30c80816 100644 --- a/net/tipc/bearer.c +++ b/net/tipc/bearer.c @@ -460,6 +460,7 @@ static void bearer_disable(struct tipc_bearer *b_ptr) { struct tipc_link *l_ptr; struct tipc_link *temp_l_ptr; + struct tipc_link_req *temp_req; pr_info("Disabling bearer <%s>\n", b_ptr->name); spin_lock_bh(&b_ptr->lock); @@ -468,9 +469,13 @@ static void bearer_disable(struct tipc_bearer *b_ptr) list_for_each_entry_safe(l_ptr, temp_l_ptr, &b_ptr->links, link_list) { tipc_link_delete(l_ptr); } - if (b_ptr->link_req) - tipc_disc_delete(b_ptr->link_req); + temp_req = b_ptr->link_req; + b_ptr->link_req = NULL; spin_unlock_bh(&b_ptr->lock); + + if (temp_req) + tipc_disc_delete(temp_req); + memset(b_ptr, 0, sizeof(struct tipc_bearer)); } |
