summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authordavidcs <davidcs@FreeBSD.org>2015-06-30 17:59:14 +0000
committerdavidcs <davidcs@FreeBSD.org>2015-06-30 17:59:14 +0000
commit9a7cb4f2b0fb340d61793d7c836d1ca87c75b384 (patch)
tree72faec572858bf461c57007076de4498d9af4d4c /sys/dev
parent61a04dd60987043feef0118220c55539ae2bcce6 (diff)
downloadFreeBSD-src-9a7cb4f2b0fb340d61793d7c836d1ca87c75b384.zip
FreeBSD-src-9a7cb4f2b0fb340d61793d7c836d1ca87c75b384.tar.gz
MFC r284470
In bxe_init_mcast_macs_list(): mc_mac->mac needs to point to the multicast mac address In bxe_set_mc_list(): added missing BXE_MCAST_UNLOCK() In __ecore_vlan_mac_h_exec_pending(): need to check for ECORE_PENDING Submitted by: gary.zambrano@qlogic.com
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/bxe/bxe.c2
-rw-r--r--sys/dev/bxe/ecore_sp.c2
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
OpenPOWER on IntegriCloud