diff options
author | Dariusz Swiderski <dms@cvs.openbsd.org> | 2009-11-26 16:01:01 +0000 |
---|---|---|
committer | Dariusz Swiderski <dms@cvs.openbsd.org> | 2009-11-26 16:01:01 +0000 |
commit | fc80d666e401d8168b4e8aeb615654205805e74c (patch) | |
tree | 533a1af214c19a32d5c09637c0811642c220a5ea /sys | |
parent | 79c9c6ac5e7fbb9621444458d6568683f3b3491b (diff) |
Fix an issue where 82573L based em(4) devices had long latencies on the
recieved packets.
fix from intel drivers, via Brad
ok claudio@, deraadt@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/pci/if_em.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/pci/if_em.c b/sys/dev/pci/if_em.c index caed84bf3d7..66077448e98 100644 --- a/sys/dev/pci/if_em.c +++ b/sys/dev/pci/if_em.c @@ -31,7 +31,7 @@ POSSIBILITY OF SUCH DAMAGE. ***************************************************************************/ -/* $OpenBSD: if_em.c,v 1.232 2009/11/26 15:53:15 dms Exp $ */ +/* $OpenBSD: if_em.c,v 1.233 2009/11/26 16:01:00 dms Exp $ */ /* $FreeBSD: if_em.c,v 1.46 2004/09/29 18:28:28 mlaier Exp $ */ #include <dev/pci/if_em.h> @@ -2603,6 +2603,13 @@ em_initialize_receive_unit(struct em_softc *sc) E1000_WRITE_REG(&sc->hw, RXCSUM, reg_rxcsum); } + /* + * XXX TEMPORARY WORKAROUND: on some systems with 82573 + * long latencies are observed, like Lenovo X60. + */ + if (sc->hw.mac_type == em_82573) + E1000_WRITE_REG(&sc->hw, RDTR, 0x20); + /* Enable Receives */ E1000_WRITE_REG(&sc->hw, RCTL, reg_rctl); |