diff options
author | Jon Maloy <jon.maloy@ericsson.com> | 2006-01-10 13:54:24 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-01-12 17:06:33 -0500 |
commit | b70e4f45a8d8125e4f420c62e71688b8a766689a (patch) | |
tree | 2fa8f52ab2665b92008cfc8b88937dda8a7542f5 /net/tipc/discover.c | |
parent | 1dba9743337cabacea79e47ed6d709e636c5ed47 (diff) |
[TIPC} Fixed bug in disc_timeout()
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Diffstat (limited to 'net/tipc/discover.c')
-rw-r--r-- | net/tipc/discover.c | 28 |
1 files changed, 2 insertions, 26 deletions
diff --git a/net/tipc/discover.c b/net/tipc/discover.c index c83c1be17f85..73e151cf2a51 100644 --- a/net/tipc/discover.c +++ b/net/tipc/discover.c | |||
@@ -258,32 +258,8 @@ void disc_update_link_req(struct link_req *req) | |||
258 | 258 | ||
259 | static void disc_timeout(struct link_req *req) | 259 | static void disc_timeout(struct link_req *req) |
260 | { | 260 | { |
261 | struct tipc_msg *msg = buf_msg(req->buf); | ||
262 | |||
263 | spin_lock_bh(&req->bearer->publ.lock); | 261 | spin_lock_bh(&req->bearer->publ.lock); |
264 | 262 | ||
265 | #if 0 | ||
266 | /* CURRENTLY DON'T SUPPORT INTER-ZONE LINKS */ | ||
267 | u32 dest_domain = msg_dest_domain(msg); | ||
268 | int stop = 0; | ||
269 | if (!in_scope(dest_domain, tipc_own_addr)) { | ||
270 | struct _zone *z_ptr = zone_find(dest_domain); | ||
271 | |||
272 | if (z_ptr && (z_ptr->links >= msg_req_links(msg))) | ||
273 | stop = 1; | ||
274 | if (req->timer_intv >= 32000) | ||
275 | stop = 1; | ||
276 | } | ||
277 | if (stop) { | ||
278 | k_cancel_timer(&req->timer); | ||
279 | buf_discard(req->buf); | ||
280 | kfree(req); | ||
281 | spin_unlock_bh(&req->bearer->publ.lock); | ||
282 | return; | ||
283 | } | ||
284 | #endif | ||
285 | |||
286 | msg_dbg(msg,"SEND:"); | ||
287 | req->bearer->media->send_msg(req->buf, &req->bearer->publ, &req->dest); | 263 | req->bearer->media->send_msg(req->buf, &req->bearer->publ, &req->dest); |
288 | 264 | ||
289 | if ((req->timer_intv == TIPC_LINK_REQ_SLOW) || | 265 | if ((req->timer_intv == TIPC_LINK_REQ_SLOW) || |
@@ -291,8 +267,8 @@ static void disc_timeout(struct link_req *req) | |||
291 | /* leave timer interval "as is" if already at a "normal" rate */ | 267 | /* leave timer interval "as is" if already at a "normal" rate */ |
292 | } else { | 268 | } else { |
293 | req->timer_intv *= 2; | 269 | req->timer_intv *= 2; |
294 | if (req->timer_intv > TIPC_LINK_REQ_FAST) | 270 | if (req->timer_intv > TIPC_LINK_REQ_SLOW) |
295 | req->timer_intv = TIPC_LINK_REQ_FAST; | 271 | req->timer_intv = TIPC_LINK_REQ_SLOW; |
296 | if ((req->timer_intv == TIPC_LINK_REQ_FAST) && | 272 | if ((req->timer_intv == TIPC_LINK_REQ_FAST) && |
297 | (req->bearer->nodes.count)) | 273 | (req->bearer->nodes.count)) |
298 | req->timer_intv = TIPC_LINK_REQ_SLOW; | 274 | req->timer_intv = TIPC_LINK_REQ_SLOW; |