summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 45b6c14..da63eaf 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) {
OpenPOWER on IntegriCloud