summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorBrad Smith <brad@cvs.openbsd.org>2006-04-28 17:18:14 +0000
committerBrad Smith <brad@cvs.openbsd.org>2006-04-28 17:18:14 +0000
commit12b6f01c08753408c95014c20d5525479d04233b (patch)
treeecbc750e56333b66e4a9192d8f3e38c7ab6b363e /sys
parent2a593261746ee5c812677b7f99954c5f36612286 (diff)
and store a copy of the current interface flags in the softc.
this time without mixing in another diff.
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/pci/if_sis.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/pci/if_sis.c b/sys/dev/pci/if_sis.c
index 3bed1502629..3b893db5e2b 100644
--- a/sys/dev/pci/if_sis.c
+++ b/sys/dev/pci/if_sis.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_sis.c,v 1.68 2006/04/28 10:17:34 martin Exp $ */
+/* $OpenBSD: if_sis.c,v 1.69 2006/04/28 17:18:13 brad Exp $ */
/*
* Copyright (c) 1997, 1998, 1999
* Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
@@ -1885,7 +1885,7 @@ sis_ioctl(struct ifnet *ifp, u_long command, caddr_t data)
switch(command) {
case SIOCSIFADDR:
ifp->if_flags |= IFF_UP;
- if ((ifp->if_flags & IFF_RUNNING) == 0)
+ if (!(ifp->if_flags & IFF_RUNNING))
sis_init(sc);
#ifdef INET
if (ifa->ifa_addr->sa_family == AF_INET)
@@ -1910,13 +1910,14 @@ sis_ioctl(struct ifnet *ifp, u_long command, caddr_t data)
(ifp->if_flags ^ sc->sc_if_flags) & IFF_ALLMULTI) {
sis_setmulti(sc);
} else {
- if ((ifp->if_flags & IFF_RUNNING) == 0)
+ if (!(ifp->if_flags & IFF_RUNNING))
sis_init(sc);
}
} else {
if (ifp->if_flags & IFF_RUNNING)
sis_stop(sc);
}
+ sc->sc_if_flags = ifp->if_flags;
break;
case SIOCSIFMTU:
if (ifr->ifr_mtu < ETHERMIN || ifr->ifr_mtu > ETHERMTU)