summaryrefslogtreecommitdiff
path: root/sys/dev/bce
diff options
context:
space:
mode:
authorDoug Ambrisko <ambrisko@FreeBSD.org>2006-07-12 23:13:09 +0000
committerDoug Ambrisko <ambrisko@FreeBSD.org>2006-07-12 23:13:09 +0000
commit4b14416350eb49d0daf51637086fc0e34cbb3f11 (patch)
tree1ea7f56e9ef2d9cd7bd3b070b1bee360ff68549a /sys/dev/bce
parentfed7988436c41b03c69db32f6e56c0c9784c3d0c (diff)
Notes
Diffstat (limited to 'sys/dev/bce')
-rw-r--r--sys/dev/bce/if_bce.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/dev/bce/if_bce.c b/sys/dev/bce/if_bce.c
index 45b6c14e1122..da63eaf4385b 100644
--- a/sys/dev/bce/if_bce.c
+++ b/sys/dev/bce/if_bce.c
@@ -4853,8 +4853,13 @@ bce_ioctl(struct ifnet *ifp, u_long command, caddr_t data)
/* Check if the interface is up. */
if (ifp->if_flags & IFF_UP) {
- /* Change the promiscuous/multicast flags as necessary. */
- bce_set_rx_mode(sc);
+ if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
+ /* Change the promiscuous/multicast flags as necessary. */
+ bce_set_rx_mode(sc);
+ } else {
+ /* Start the HW */
+ bce_init_locked(sc);
+ }
} else {
/* The interface is down. Check if the driver is running. */
if (ifp->if_drv_flags & IFF_DRV_RUNNING) {