summaryrefslogtreecommitdiffstats
path: root/sys/pci/if_rl.c
diff options
context:
space:
mode:
authorluigi <luigi@FreeBSD.org>2002-06-30 22:16:22 +0000
committerluigi <luigi@FreeBSD.org>2002-06-30 22:16:22 +0000
commit36987f382b7fcdcfd13a44439a02485f0f5150c2 (patch)
tree41f1d8fea6c1dbafda2fd3657a1b9a706aca88e7 /sys/pci/if_rl.c
parentaf57fcc7716390be1b44583d20c263e9e7099d0d (diff)
downloadFreeBSD-src-36987f382b7fcdcfd13a44439a02485f0f5150c2.zip
FreeBSD-src-36987f382b7fcdcfd13a44439a02485f0f5150c2.tar.gz
Fix if_timer logic to make sure that there is always a timeout
pending if there are packets queued for transmission. Several drivers still have the same problem. MFC after: 3 days
Diffstat (limited to 'sys/pci/if_rl.c')
-rw-r--r--sys/pci/if_rl.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/pci/if_rl.c b/sys/pci/if_rl.c
index 99ef4dd..4ffe7a3 100644
--- a/sys/pci/if_rl.c
+++ b/sys/pci/if_rl.c
@@ -1292,9 +1292,6 @@ static void rl_txeof(sc)
ifp = &sc->arpcom.ac_if;
- /* Clear the timeout timer. */
- ifp->if_timer = 0;
-
/*
* Go through our tx list and free mbufs for those
* frames that have been uploaded.
@@ -1337,6 +1334,9 @@ static void rl_txeof(sc)
ifp->if_flags &= ~IFF_OACTIVE;
} while (sc->rl_cdata.last_tx != sc->rl_cdata.cur_tx);
+ ifp->if_timer =
+ (sc->rl_cdata.last_tx == sc->rl_cdata.cur_tx) ? 0 : 5;
+
return;
}
OpenPOWER on IntegriCloud