diff options
| author | Doug Ambrisko <ambrisko@FreeBSD.org> | 2006-07-12 23:13:09 +0000 |
|---|---|---|
| committer | Doug Ambrisko <ambrisko@FreeBSD.org> | 2006-07-12 23:13:09 +0000 |
| commit | 4b14416350eb49d0daf51637086fc0e34cbb3f11 (patch) | |
| tree | 1ea7f56e9ef2d9cd7bd3b070b1bee360ff68549a /sys/dev/bce | |
| parent | fed7988436c41b03c69db32f6e56c0c9784c3d0c (diff) | |
Notes
Diffstat (limited to 'sys/dev/bce')
| -rw-r--r-- | sys/dev/bce/if_bce.c | 9 |
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) { |
