Module Name: src
Committed By: msaitoh
Date: Mon Jun 19 10:59:01 UTC 2017
Modified Files:
src/sys/dev/pci: if_wm.c
Log Message:
Set WMREG_KABGTXD not in wm_init_locked() but in wm_reset(). Same as other
OSes.
To generate a diff of this commit:
cvs rdiff -u -r1.509 -r1.510 src/sys/dev/pci/if_wm.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/pci/if_wm.c
diff -u src/sys/dev/pci/if_wm.c:1.509 src/sys/dev/pci/if_wm.c:1.510
--- src/sys/dev/pci/if_wm.c:1.509 Mon Jun 12 03:03:22 2017
+++ src/sys/dev/pci/if_wm.c Mon Jun 19 10:59:01 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: if_wm.c,v 1.509 2017/06/12 03:03:22 msaitoh Exp $ */
+/* $NetBSD: if_wm.c,v 1.510 2017/06/19 10:59:01 msaitoh Exp $ */
/*
* Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc.
@@ -84,7 +84,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.509 2017/06/12 03:03:22 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.510 2017/06/19 10:59:01 msaitoh Exp $");
#ifdef _KERNEL_OPT
#include "opt_net_mpsafe.h"
@@ -4335,6 +4335,15 @@ wm_reset(struct wm_softc *sc)
CSR_WRITE(sc, WMREG_EIAC_82574, 0);
}
+ if ((sc->sc_type == WM_T_ICH8) || (sc->sc_type == WM_T_ICH9)
+ || (sc->sc_type == WM_T_ICH10) || (sc->sc_type == WM_T_PCH)
+ || (sc->sc_type == WM_T_PCH2) || (sc->sc_type == WM_T_PCH_LPT)
+ || (sc->sc_type == WM_T_PCH_SPT)) {
+ reg = CSR_READ(sc, WMREG_KABGTXD);
+ reg |= KABGTXD_BGSQLBIAS;
+ CSR_WRITE(sc, WMREG_KABGTXD, reg);
+ }
+
/* reload sc_ctrl */
sc->sc_ctrl = CSR_READ(sc, WMREG_CTRL);
@@ -5363,15 +5372,6 @@ wm_init_locked(struct ifnet *ifp)
} else
CSR_WRITE(sc, WMREG_IMS, sc->sc_icr);
- if ((sc->sc_type == WM_T_ICH8) || (sc->sc_type == WM_T_ICH9)
- || (sc->sc_type == WM_T_ICH10) || (sc->sc_type == WM_T_PCH)
- || (sc->sc_type == WM_T_PCH2) || (sc->sc_type == WM_T_PCH_LPT)
- || (sc->sc_type == WM_T_PCH_SPT)) {
- reg = CSR_READ(sc, WMREG_KABGTXD);
- reg |= KABGTXD_BGSQLBIAS;
- CSR_WRITE(sc, WMREG_KABGTXD, reg);
- }
-
/* Set up the inter-packet gap. */
CSR_WRITE(sc, WMREG_TIPG, sc->sc_tipg);