diff options
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/bxe/bxe.c | 2 | ||||
-rw-r--r-- | sys/dev/bxe/ecore_sp.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/bxe/bxe.c b/sys/dev/bxe/bxe.c index b7a1c3e..22ea235 100644 --- a/sys/dev/bxe/bxe.c +++ b/sys/dev/bxe/bxe.c @@ -12535,6 +12535,7 @@ bxe_init_mcast_macs_list(struct bxe_softc *sc, BLOGE(sc, "Failed to allocate temp mcast list\n"); return (-1); } + bzero(mc_mac, (sizeof(*mc_mac) * mc_count)); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) { @@ -12585,6 +12586,7 @@ bxe_set_mc_list(struct bxe_softc *sc) rc = ecore_config_mcast(sc, &rparam, ECORE_MCAST_CMD_DEL); if (rc < 0) { BLOGE(sc, "Failed to clear multicast configuration: %d\n", rc); + BXE_MCAST_UNLOCK(sc); return (rc); } diff --git a/sys/dev/bxe/ecore_sp.c b/sys/dev/bxe/ecore_sp.c index b716085..2685453 100644 --- a/sys/dev/bxe/ecore_sp.c +++ b/sys/dev/bxe/ecore_sp.c @@ -474,7 +474,7 @@ static void __ecore_vlan_mac_h_exec_pending(struct bxe_softc *sc, o->head_exe_request = FALSE; o->saved_ramrod_flags = 0; rc = ecore_exe_queue_step(sc, &o->exe_queue, &ramrod_flags); - if (rc != ECORE_SUCCESS) { + if ((rc != ECORE_SUCCESS) && (rc != ECORE_PENDING)) { ECORE_ERR("execution of pending commands failed with rc %d\n", rc); #ifdef ECORE_STOP_ON_ERROR |