Make sure we stop DMA before we suspend. Remove unused argument to re_stop()
authorkettenis <kettenis@openbsd.org>
Tue, 27 Jul 2010 20:53:39 +0000 (20:53 +0000)
committerkettenis <kettenis@openbsd.org>
Tue, 27 Jul 2010 20:53:39 +0000 (20:53 +0000)
to avoid the dilemma what meaningless value to pass.

ok deraadt@

sys/dev/ic/re.c
sys/dev/ic/revar.h
sys/dev/pci/if_re_pci.c

index ecd58ce..0cc77f7 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: re.c,v 1.123 2010/07/14 19:24:27 naddy Exp $  */
+/*     $OpenBSD: re.c,v 1.124 2010/07/27 20:53:39 kettenis Exp $       */
 /*     $FreeBSD: if_re.c,v 1.31 2004/09/04 07:54:05 ru Exp $   */
 /*
  * Copyright (c) 1997, 1998-2003
@@ -1942,7 +1942,7 @@ re_init(struct ifnet *ifp)
        /*
         * Cancel pending I/O and free all RX/TX buffers.
         */
-       re_stop(ifp, 0);
+       re_stop(ifp);
 
        /*
         * Enable C+ RX and TX mode, as well as RX checksum offload.
@@ -2118,7 +2118,7 @@ re_ioctl(struct ifnet *ifp, u_long command, caddr_t data)
                                re_init(ifp);
                } else {
                        if (ifp->if_flags & IFF_RUNNING)
-                               re_stop(ifp, 1);
+                               re_stop(ifp);
                }
                break;
        case SIOCGIFMEDIA:
@@ -2163,7 +2163,7 @@ re_watchdog(struct ifnet *ifp)
  * RX and TX lists.
  */
 void
-re_stop(struct ifnet *ifp, int disable)
+re_stop(struct ifnet *ifp)
 {
        struct rl_softc *sc;
        int     i;
index ba96758..971a4da 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: revar.h,v 1.6 2009/11/24 17:40:43 kettenis Exp $      */
+/*     $OpenBSD: revar.h,v 1.7 2010/07/27 20:53:39 kettenis Exp $      */
 
 /*
  * Copyright (c) 2005 Peter Valchev <pvalchev@openbsd.org>
@@ -20,4 +20,4 @@ int   re_intr(void *);
 int    re_attach(struct rl_softc *, const char *);
 void   re_reset(struct rl_softc *);
 int    re_init(struct ifnet *);
-void   re_stop(struct ifnet *, int);
+void   re_stop(struct ifnet *);
index 34011c5..9588b64 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: if_re_pci.c,v 1.27 2009/11/26 00:12:31 kettenis Exp $ */
+/*     $OpenBSD: if_re_pci.c,v 1.28 2010/07/27 20:53:39 kettenis Exp $ */
 
 /*
  * Copyright (c) 2005 Peter Valchev <pvalchev@openbsd.org>
@@ -249,10 +249,12 @@ re_pci_activate(struct device *self, int act)
 
        switch(act) {
        case DVACT_SUSPEND:
+               if (ifp->if_flags & IFF_RUNNING)
+                       re_stop(ifp);
                break;
        case DVACT_RESUME:
                re_reset(sc);
-               if (ifp->if_flags & IFF_RUNNING)
+               if (ifp->if_flags & IFF_UP)
                        re_init(ifp);
                break;
        }