diff options
Diffstat (limited to 'net/tipc/link.c')
| -rw-r--r-- | net/tipc/link.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/net/tipc/link.c b/net/tipc/link.c index ff40c9195fef..2efced5a673c 100644 --- a/net/tipc/link.c +++ b/net/tipc/link.c | |||
| @@ -574,7 +574,6 @@ void tipc_link_wakeup_ports(struct link *l_ptr, int all) | |||
| 574 | break; | 574 | break; |
| 575 | list_del_init(&p_ptr->wait_list); | 575 | list_del_init(&p_ptr->wait_list); |
| 576 | p_ptr->congested_link = NULL; | 576 | p_ptr->congested_link = NULL; |
| 577 | assert(p_ptr->wakeup); | ||
| 578 | spin_lock_bh(p_ptr->publ.lock); | 577 | spin_lock_bh(p_ptr->publ.lock); |
| 579 | p_ptr->publ.congested = 0; | 578 | p_ptr->publ.congested = 0; |
| 580 | p_ptr->wakeup(&p_ptr->publ); | 579 | p_ptr->wakeup(&p_ptr->publ); |
| @@ -1246,8 +1245,6 @@ int tipc_link_send_sections_fast(struct port *sender, | |||
| 1246 | int res; | 1245 | int res; |
| 1247 | u32 selector = msg_origport(hdr) & 1; | 1246 | u32 selector = msg_origport(hdr) & 1; |
| 1248 | 1247 | ||
| 1249 | assert(destaddr != tipc_own_addr); | ||
| 1250 | |||
| 1251 | again: | 1248 | again: |
| 1252 | /* | 1249 | /* |
| 1253 | * Try building message using port's max_pkt hint. | 1250 | * Try building message using port's max_pkt hint. |
| @@ -2310,7 +2307,6 @@ void tipc_link_tunnel(struct link *l_ptr, | |||
| 2310 | memcpy(buf->data + INT_H_SIZE, (unchar *)msg, length); | 2307 | memcpy(buf->data + INT_H_SIZE, (unchar *)msg, length); |
| 2311 | dbg("%c->%c:", l_ptr->b_ptr->net_plane, tunnel->b_ptr->net_plane); | 2308 | dbg("%c->%c:", l_ptr->b_ptr->net_plane, tunnel->b_ptr->net_plane); |
| 2312 | msg_dbg(buf_msg(buf), ">SEND>"); | 2309 | msg_dbg(buf_msg(buf), ">SEND>"); |
| 2313 | assert(tunnel); | ||
| 2314 | tipc_link_send_buf(tunnel, buf); | 2310 | tipc_link_send_buf(tunnel, buf); |
| 2315 | } | 2311 | } |
| 2316 | 2312 | ||
| @@ -2339,10 +2335,10 @@ void tipc_link_changeover(struct link *l_ptr) | |||
| 2339 | ORIGINAL_MSG, TIPC_OK, INT_H_SIZE, l_ptr->addr); | 2335 | ORIGINAL_MSG, TIPC_OK, INT_H_SIZE, l_ptr->addr); |
| 2340 | msg_set_bearer_id(&tunnel_hdr, l_ptr->peer_bearer_id); | 2336 | msg_set_bearer_id(&tunnel_hdr, l_ptr->peer_bearer_id); |
| 2341 | msg_set_msgcnt(&tunnel_hdr, msgcount); | 2337 | msg_set_msgcnt(&tunnel_hdr, msgcount); |
| 2338 | |||
| 2342 | if (!l_ptr->first_out) { | 2339 | if (!l_ptr->first_out) { |
| 2343 | struct sk_buff *buf; | 2340 | struct sk_buff *buf; |
| 2344 | 2341 | ||
| 2345 | assert(!msgcount); | ||
| 2346 | buf = buf_acquire(INT_H_SIZE); | 2342 | buf = buf_acquire(INT_H_SIZE); |
| 2347 | if (buf) { | 2343 | if (buf) { |
| 2348 | memcpy(buf->data, (unchar *)&tunnel_hdr, INT_H_SIZE); | 2344 | memcpy(buf->data, (unchar *)&tunnel_hdr, INT_H_SIZE); |
| @@ -2356,6 +2352,7 @@ void tipc_link_changeover(struct link *l_ptr) | |||
| 2356 | } | 2352 | } |
| 2357 | return; | 2353 | return; |
| 2358 | } | 2354 | } |
| 2355 | |||
| 2359 | while (crs) { | 2356 | while (crs) { |
| 2360 | struct tipc_msg *msg = buf_msg(crs); | 2357 | struct tipc_msg *msg = buf_msg(crs); |
| 2361 | 2358 | ||
| @@ -2455,11 +2452,15 @@ static int link_recv_changeover_msg(struct link **l_ptr, | |||
| 2455 | u32 msg_count = msg_msgcnt(tunnel_msg); | 2452 | u32 msg_count = msg_msgcnt(tunnel_msg); |
| 2456 | 2453 | ||
| 2457 | dest_link = (*l_ptr)->owner->links[msg_bearer_id(tunnel_msg)]; | 2454 | dest_link = (*l_ptr)->owner->links[msg_bearer_id(tunnel_msg)]; |
| 2458 | assert(dest_link != *l_ptr); | ||
| 2459 | if (!dest_link) { | 2455 | if (!dest_link) { |
| 2460 | msg_dbg(tunnel_msg, "NOLINK/<REC<"); | 2456 | msg_dbg(tunnel_msg, "NOLINK/<REC<"); |
| 2461 | goto exit; | 2457 | goto exit; |
| 2462 | } | 2458 | } |
| 2459 | if (dest_link == *l_ptr) { | ||
| 2460 | err("Unexpected changeover message on link <%s>\n", | ||
| 2461 | (*l_ptr)->name); | ||
| 2462 | goto exit; | ||
| 2463 | } | ||
| 2463 | dbg("%c<-%c:", dest_link->b_ptr->net_plane, | 2464 | dbg("%c<-%c:", dest_link->b_ptr->net_plane, |
| 2464 | (*l_ptr)->b_ptr->net_plane); | 2465 | (*l_ptr)->b_ptr->net_plane); |
| 2465 | *l_ptr = dest_link; | 2466 | *l_ptr = dest_link; |
