On Tue, 29 Mar 2016 22:28:20 -0700 Rasesh Mody <rasesh.mody at qlogic.com> wrote:
> + > +void qede_config_rx_mode(struct rte_eth_dev *eth_dev) > +{ > + struct qede_dev *qdev = eth_dev->data->dev_private; > + struct ecore_dev *edev = &qdev->edev; > + /* TODO: - QED_FILTER_TYPE_UCAST */ > + enum qed_filter_rx_mode_type accept_flags = > + QED_FILTER_RX_MODE_TYPE_REGULAR; > + struct qed_filter_params rx_mode; > + int rc; > + > + /* Configure the struct for the Rx mode */ > + memset(&rx_mode, 0, sizeof(struct qed_filter_params)); > + rx_mode.type = QED_FILTER_TYPE_RX_MODE; > + > + rc = qede_set_ucast_rx_mac(qdev, QED_FILTER_XCAST_TYPE_REPLACE, > + eth_dev->data->mac_addrs[0].addr_bytes); > + if (rte_eth_promiscuous_get(eth_dev->data->port_id) == 1) { > + accept_flags = QED_FILTER_RX_MODE_TYPE_PROMISC; > + } else { > + rc = qede_set_ucast_rx_mac(qdev, QED_FILTER_XCAST_TYPE_ADD, > + eth_dev->data-> > + mac_addrs[0].addr_bytes); > + if (rc) { > + DP_ERR(edev, "Unable to add filter\n"); > + return; > + } > + } > + > + /* take care of VLAN mode */ > + if (rte_eth_promiscuous_get(eth_dev->data->port_id) == 1) { > + qede_config_accept_any_vlan(qdev, true); > + } else if (!qdev->non_configured_vlans) { > + /* If we dont have non-configured VLANs and promisc > + * is not set, then check if we need to disable > + * accept_any_vlan mode. > + * Because in this case, accept_any_vlan mode is set > + * as part of IFF_RPOMISC flag handling. > + */ > + qede_config_accept_any_vlan(qdev, false); > + } > + rx_mode.filter.accept_flags = accept_flags; > + (void)qdev->ops->filter_config(edev, &rx_mode); Please don't use lint suppressing dummy (void) casts. I don't think GCC or any check tool needs these. Better yet check the return value and log errors.