diff options
author | Bill Paul <wpaul@FreeBSD.org> | 2004-03-23 19:51:17 +0000 |
---|---|---|
committer | Bill Paul <wpaul@FreeBSD.org> | 2004-03-23 19:51:17 +0000 |
commit | 7913049bf29924a520ad596705c27399112bafd5 (patch) | |
tree | 0e7b1567633ec58e89dcb783fa6afa8443a8d574 /sys/dev/if_ndis | |
parent | 010b69bae27fb4829ac3397e90f3eade4bc69ad7 (diff) | |
download | src-7913049bf29924a520ad596705c27399112bafd5.tar.gz src-7913049bf29924a520ad596705c27399112bafd5.zip |
Recently I realized that the ADMtek 8211 driver wasn't working correctly
(NIC would claim to establish a link with an ad-hoc net but it couldn't
send/receive packets). It turns out that every time the checkforhang
handler was called by ndis_ticktask(), the driver would generate a new
media connect event. The NDIS spec says the checkforhang handler is
called "approximately every 2 seconds" but using exactly 2 seconds seems
too fast. Using 3 seconds makes it happy again, so we'll go with that
for now.
Notes
Notes:
svn path=/head/; revision=127336
Diffstat (limited to 'sys/dev/if_ndis')
-rw-r--r-- | sys/dev/if_ndis/if_ndis.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/if_ndis/if_ndis.c b/sys/dev/if_ndis/if_ndis.c index f89d766cd33a..2952405e19bd 100644 --- a/sys/dev/if_ndis/if_ndis.c +++ b/sys/dev/if_ndis/if_ndis.c @@ -1428,12 +1428,13 @@ ndis_init(xsc) /* * Some drivers don't set this value. The NDIS spec says - * the default checkforhang timeout is approximately 2 - * seconds. + * the default checkforhang timeout is "approximately 2 + * seconds." We use 3 seconds, because it seems for some + * drivers, exactly 2 seconds is too fast. */ if (sc->ndis_block.nmb_checkforhangsecs == 0) - sc->ndis_block.nmb_checkforhangsecs = 2; + sc->ndis_block.nmb_checkforhangsecs = 3; sc->ndis_stat_ch = timeout(ndis_tick, sc, hz * sc->ndis_block.nmb_checkforhangsecs); |