Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/pci wm(4): Revert previous -- mistakenly committed u...



details:   https://anonhg.NetBSD.org/src/rev/4e53a760d8ff
branches:  trunk
changeset: 368896:4e53a760d8ff
user:      riastradh <riastradh%NetBSD.org@localhost>
date:      Fri Aug 12 10:55:01 2022 +0000

description:
wm(4): Revert previous -- mistakenly committed unsquashed change part.

diffstat:

 sys/dev/pci/if_wm.c |  30 +++++++++++-------------------
 1 files changed, 11 insertions(+), 19 deletions(-)

diffs (129 lines):

diff -r 4164fe298cad -r 4e53a760d8ff sys/dev/pci/if_wm.c
--- a/sys/dev/pci/if_wm.c       Fri Aug 12 10:50:37 2022 +0000
+++ b/sys/dev/pci/if_wm.c       Fri Aug 12 10:55:01 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if_wm.c,v 1.758 2022/08/12 10:50:37 riastradh Exp $    */
+/*     $NetBSD: if_wm.c,v 1.759 2022/08/12 10:55:01 riastradh Exp $    */
 
 /*
  * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc.
@@ -82,7 +82,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.758 2022/08/12 10:50:37 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_wm.c,v 1.759 2022/08/12 10:55:01 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_net_mpsafe.h"
@@ -3572,7 +3572,6 @@
 
        if (sc->sc_type >= WM_T_PCH2)
                wm_resume_workarounds_pchlan(sc);
-       IFNET_LOCK(ifp);
        if ((ifp->if_flags & IFF_UP) == 0) {
                /* >= PCH_SPT hardware workaround before reset. */
                if (sc->sc_type >= WM_T_PCH_SPT)
@@ -3591,7 +3590,6 @@
                 * via wm_init().
                 */
        }
-       IFNET_UNLOCK(ifp);
 
        return true;
 }
@@ -4328,7 +4326,6 @@
 
        DPRINTF(sc, WM_DEBUG_INIT, ("%s: %s called\n",
                device_xname(sc->sc_dev), __func__));
-       KASSERT(WM_CORE_LOCKED(sc));
 
        if (sc->sc_type >= WM_T_82544)
                mta_reg = WMREG_CORDOVA_MTA;
@@ -4337,9 +4334,9 @@
 
        sc->sc_rctl &= ~(RCTL_BAM | RCTL_UPE | RCTL_MPE);
 
-       if (sc->sc_if_flags & IFF_BROADCAST)
+       if (ifp->if_flags & IFF_BROADCAST)
                sc->sc_rctl |= RCTL_BAM;
-       if (sc->sc_if_flags & IFF_PROMISC) {
+       if (ifp->if_flags & IFF_PROMISC) {
                sc->sc_rctl |= RCTL_UPE;
                ETHER_LOCK(ec);
                ec->ec_flags |= ETHER_F_ALLMULTI;
@@ -5260,8 +5257,6 @@
        int nexttx;
        uint32_t rctl;
 
-       KASSERT(IFNET_LOCKED(&sc->sc_ethercom.ec_if));
-
        /* First, disable MULR fix in FEXTNVM11 */
        reg = CSR_READ(sc, WMREG_FEXTNVM11);
        reg |= FEXTNVM11_DIS_MULRFIX;
@@ -7086,7 +7081,6 @@
        struct wm_softc *sc = ifp->if_softc;
 
        ASSERT_SLEEPABLE();
-       KASSERT(IFNET_LOCKED(ifp));
 
        WM_CORE_LOCK(sc);
        wm_stop_locked(ifp, disable ? true : false, true);
@@ -7112,7 +7106,6 @@
 
        DPRINTF(sc, WM_DEBUG_INIT, ("%s: %s called\n",
                device_xname(sc->sc_dev), __func__));
-       KASSERT(IFNET_LOCKED(ifp));
        KASSERT(WM_CORE_LOCKED(sc));
 
        wm_set_stopping_flags(sc);
@@ -7192,7 +7185,6 @@
 
        /* Mark the interface as down and cancel the watchdog timer. */
        ifp->if_flags &= ~IFF_RUNNING;
-       sc->sc_if_flags = ifp->if_flags;
 
        if (disable) {
                for (i = 0; i < sc->sc_nqueues; i++) {
@@ -8392,8 +8384,9 @@
        bool remap = true;
 
        KASSERT(mutex_owned(txq->txq_lock));
-       KASSERT(!txq->txq_stopping);
-
+
+       if ((ifp->if_flags & IFF_RUNNING) == 0)
+               return;
        if ((txq->txq_flags & WM_TXQ_NO_SPACE) != 0)
                return;
 
@@ -9009,8 +9002,9 @@
        bool remap = true;
 
        KASSERT(mutex_owned(txq->txq_lock));
-       KASSERT(!txq->txq_stopping);
-
+
+       if ((ifp->if_flags & IFF_RUNNING) == 0)
+               return;
        if ((txq->txq_flags & WM_TXQ_NO_SPACE) != 0)
                return;
 
@@ -13162,7 +13156,7 @@
                sc->sc_tbi_serdes_ticks = 0;
        }
 
-       if ((sc->sc_if_flags & IFF_UP) == 0)
+       if ((sc->sc_ethercom.ec_if.if_flags & IFF_UP) == 0)
                goto setled;
 
        if ((status & STATUS_LU) == 0) {
@@ -15656,8 +15650,6 @@
 
        DPRINTF(sc, WM_DEBUG_INIT, ("%s: %s called\n",
                device_xname(sc->sc_dev), __func__));
-       KASSERT(IFNET_LOCKED(&sc->sc_ethercom.ec_if));
-
        if (sc->sc_flags & WM_F_HAS_MANAGE) {
                uint32_t manc2h = CSR_READ(sc, WMREG_MANC2H);
                uint32_t manc = CSR_READ(sc, WMREG_MANC);



Home | Main Index | Thread Index | Old Index