X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Ffailsafe%2Ffailsafe_ether.c;h=2b748bd8b426f78afeeb4fa7d07ca3361df2fde6;hb=1256805dd54d;hp=bd38f1c1e4c504a49ddf628eea0e882bfc077501;hpb=6f6d5d21911c02cf6b6b8a5a4621a5b671b6d1be;p=dpdk.git diff --git a/drivers/net/failsafe/failsafe_ether.c b/drivers/net/failsafe/failsafe_ether.c index bd38f1c1e4..2b748bd8b4 100644 --- a/drivers/net/failsafe/failsafe_ether.c +++ b/drivers/net/failsafe/failsafe_ether.c @@ -140,9 +140,13 @@ fs_eth_dev_conf_apply(struct rte_eth_dev *dev, if (dev->data->all_multicast != edev->data->all_multicast) { DEBUG("Configuring all_multicast"); if (dev->data->all_multicast) - rte_eth_allmulticast_enable(PORT_ID(sdev)); + ret = rte_eth_allmulticast_enable(PORT_ID(sdev)); else - rte_eth_allmulticast_disable(PORT_ID(sdev)); + ret = rte_eth_allmulticast_disable(PORT_ID(sdev)); + if (ret != 0) { + ERROR("Failed to apply allmulticast mode"); + return ret; + } } else { DEBUG("all_multicast already set"); } @@ -619,6 +623,11 @@ failsafe_eth_new_event_callback(uint16_t port_id, FOREACH_SUBDEV_STATE(sdev, i, fs_dev, DEV_PARSED) { if (sdev->state >= DEV_PROBED) continue; + if (dev->device == NULL) { + WARN("Trying to probe malformed device %s.\n", + sdev->devargs.name); + continue; + } if (strcmp(sdev->devargs.name, dev->device->name) != 0) continue; rte_eth_dev_owner_set(port_id, &PRIV(fs_dev)->my_owner);