From ef81ce620ced149ce72b5a8df1d5410e8f120ee8 Mon Sep 17 00:00:00 2001 From: Paul Fox Date: Wed, 29 Mar 2006 23:01:33 +0000 Subject: [PATCH] fix from David Daney, on busybox mailing list: > The problem is that if the zcip protocol times out at about the same > time another ARP packet is being received, the newly calculated timeout > may be set to wait forever. This prevents the protocol from progressing > through its various states. > > The Fix is to set the timeout to zero if it used to be a positive > number, but it has already expired. This causes the next protocol state > to be entered immediately instead of never. > > If OK please commit. > > Also note that if you may have to apply the patch on this page: > > http://www.science.uva.nl/research/air/wiki/LinkLocalARPMeasurements > > To the linux kernel to get proper zcip behavior. > --- networking/zcip.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/networking/zcip.c b/networking/zcip.c index 716c4a5e1..ed30bb33a 100644 --- a/networking/zcip.c +++ b/networking/zcip.c @@ -437,7 +437,7 @@ fail: gettimeofday(&tv2, NULL); if (timercmp(&tv1, &tv2, <)) { - timeout = -1; + timeout = 0; } else { timersub(&tv1, &tv2, &tv1); timeout = 1000 * tv1.tv_sec