ethdev: change allmulticast callbacks to return status
[dpdk.git] / drivers / net / qede / qede_ethdev.c
index 4f324a6..0c9f659 100644 (file)
@@ -1710,7 +1710,7 @@ qede_get_xstats(struct rte_eth_dev *dev, struct rte_eth_xstat *xstats,
        return stat_idx;
 }
 
-static void
+static int
 qede_reset_xstats(struct rte_eth_dev *dev)
 {
        struct qede_dev *qdev = dev->data->dev_private;
@@ -1718,6 +1718,8 @@ qede_reset_xstats(struct rte_eth_dev *dev)
 
        ecore_reset_vport_stats(edev);
        qede_reset_queue_stats(qdev, true);
+
+       return 0;
 }
 
 int qede_dev_set_link_state(struct rte_eth_dev *eth_dev, bool link_up)
@@ -1747,34 +1749,43 @@ static int qede_dev_set_link_down(struct rte_eth_dev *eth_dev)
        return qede_dev_set_link_state(eth_dev, false);
 }
 
-static void qede_reset_stats(struct rte_eth_dev *eth_dev)
+static int qede_reset_stats(struct rte_eth_dev *eth_dev)
 {
        struct qede_dev *qdev = eth_dev->data->dev_private;
        struct ecore_dev *edev = &qdev->edev;
 
        ecore_reset_vport_stats(edev);
        qede_reset_queue_stats(qdev, false);
+
+       return 0;
 }
 
-static void qede_allmulticast_enable(struct rte_eth_dev *eth_dev)
+static int qede_allmulticast_enable(struct rte_eth_dev *eth_dev)
 {
        enum qed_filter_rx_mode_type type =
            QED_FILTER_RX_MODE_TYPE_MULTI_PROMISC;
+       enum _ecore_status_t ecore_status;
 
        if (rte_eth_promiscuous_get(eth_dev->data->port_id) == 1)
                type |= QED_FILTER_RX_MODE_TYPE_PROMISC;
 
-       qed_configure_filter_rx_mode(eth_dev, type);
+       ecore_status = qed_configure_filter_rx_mode(eth_dev, type);
+
+       return ecore_status >= ECORE_SUCCESS ? 0 : -EAGAIN;
 }
 
-static void qede_allmulticast_disable(struct rte_eth_dev *eth_dev)
+static int qede_allmulticast_disable(struct rte_eth_dev *eth_dev)
 {
+       enum _ecore_status_t ecore_status;
+
        if (rte_eth_promiscuous_get(eth_dev->data->port_id) == 1)
-               qed_configure_filter_rx_mode(eth_dev,
+               ecore_status = qed_configure_filter_rx_mode(eth_dev,
                                QED_FILTER_RX_MODE_TYPE_PROMISC);
        else
-               qed_configure_filter_rx_mode(eth_dev,
+               ecore_status = qed_configure_filter_rx_mode(eth_dev,
                                QED_FILTER_RX_MODE_TYPE_REGULAR);
+
+       return ecore_status >= ECORE_SUCCESS ? 0 : -EAGAIN;
 }
 
 static int