mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-23 11:18:54 +00:00
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.
This commit is contained in:
parent
010b69bae2
commit
7913049bf2
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=127336
@ -1428,12 +1428,13 @@ ndis_init(xsc)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Some drivers don't set this value. The NDIS spec says
|
* Some drivers don't set this value. The NDIS spec says
|
||||||
* the default checkforhang timeout is approximately 2
|
* the default checkforhang timeout is "approximately 2
|
||||||
* seconds.
|
* seconds." We use 3 seconds, because it seems for some
|
||||||
|
* drivers, exactly 2 seconds is too fast.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (sc->ndis_block.nmb_checkforhangsecs == 0)
|
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,
|
sc->ndis_stat_ch = timeout(ndis_tick, sc,
|
||||||
hz * sc->ndis_block.nmb_checkforhangsecs);
|
hz * sc->ndis_block.nmb_checkforhangsecs);
|
||||||
|
Loading…
Reference in New Issue
Block a user