[dpdk-dev] [PATCH v2] mlx: fix icc compilation error
Adrien Mazarguil
adrien.mazarguil at 6wind.com
Tue Jun 14 17:31:55 CEST 2016
On Tue, Jun 14, 2016 at 04:22:10PM +0100, Ferruh Yigit wrote:
> Compilation errors:
> mlx4:
> CC mlx4.o
> .../dpdk/drivers/net/mlx4/mlx4.c(5409): error #188: enumerated type
> mixed with another type
> priv->intr_handle.type = 0;
> ^
>
> mlx5:
> CC em_rxtx.o
> .../dpdk/drivers/net/mlx5/mlx5_rxq.c(282):
> error #188: enumerated type mixed with another type
> enum hash_rxq_type type = 0;
> ^
>
> .../dpdk/drivers/net/mlx5/mlx5_rxq.c(622):
> error #188: enumerated type mixed with another type
> if (!priv_allow_flow_type(priv, i)) {
> ^
> more same type of error
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
> ---
> drivers/net/mlx4/mlx4.c | 2 +-
> drivers/net/mlx5/mlx5_ethdev.c | 2 +-
> drivers/net/mlx5/mlx5_rxmode.c | 6 ++++--
> drivers/net/mlx5/mlx5_rxq.c | 7 ++++---
> 4 files changed, 10 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
> index 9ed1491..8c9e713 100644
> --- a/drivers/net/mlx4/mlx4.c
> +++ b/drivers/net/mlx4/mlx4.c
> @@ -5406,7 +5406,7 @@ priv_dev_interrupt_handler_uninstall(struct priv *priv, struct rte_eth_dev *dev)
> rte_eal_alarm_cancel(mlx4_dev_link_status_handler, dev);
> priv->pending_alarm = 0;
> priv->intr_handle.fd = 0;
> - priv->intr_handle.type = 0;
> + priv->intr_handle.type = RTE_INTR_HANDLE_UNKNOWN;
> }
>
> /**
> diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
> index 36b369e..6f5ece9 100644
> --- a/drivers/net/mlx5/mlx5_ethdev.c
> +++ b/drivers/net/mlx5/mlx5_ethdev.c
> @@ -1012,7 +1012,7 @@ priv_dev_interrupt_handler_uninstall(struct priv *priv, struct rte_eth_dev *dev)
> rte_eal_alarm_cancel(mlx5_dev_link_status_handler, dev);
> priv->pending_alarm = 0;
> priv->intr_handle.fd = 0;
> - priv->intr_handle.type = 0;
> + priv->intr_handle.type = RTE_INTR_HANDLE_UNKNOWN;
> }
>
> /**
> diff --git a/drivers/net/mlx5/mlx5_rxmode.c b/drivers/net/mlx5/mlx5_rxmode.c
> index 3a55f63..5abfef6 100644
> --- a/drivers/net/mlx5/mlx5_rxmode.c
> +++ b/drivers/net/mlx5/mlx5_rxmode.c
> @@ -355,7 +355,8 @@ priv_special_flow_enable_all(struct priv *priv)
> {
> enum hash_rxq_flow_type flow_type;
>
> - for (flow_type = 0; flow_type != HASH_RXQ_FLOW_TYPE_MAC; ++flow_type) {
> + for (flow_type = HASH_RXQ_FLOW_TYPE_PROMISC;
> + flow_type != HASH_RXQ_FLOW_TYPE_MAC; ++flow_type) {
> int ret;
OK, only a small complaint about indentation, considering the width of that
for statement I suggest one expression per line with all lines indented
similarly for clarity:
for (a;
b;
c) {
...
}
>
> ret = priv_special_flow_enable(priv, flow_type);
> @@ -380,7 +381,8 @@ priv_special_flow_disable_all(struct priv *priv)
> {
> enum hash_rxq_flow_type flow_type;
>
> - for (flow_type = 0; flow_type != HASH_RXQ_FLOW_TYPE_MAC; ++flow_type)
> + for (flow_type = HASH_RXQ_FLOW_TYPE_PROMISC;
> + flow_type != HASH_RXQ_FLOW_TYPE_MAC; ++flow_type)
> priv_special_flow_disable(priv, flow_type);
> }
Same here.
> diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
> index cbb017b..9928a26 100644
> --- a/drivers/net/mlx5/mlx5_rxq.c
> +++ b/drivers/net/mlx5/mlx5_rxq.c
> @@ -279,7 +279,7 @@ priv_flow_attr(struct priv *priv, struct ibv_exp_flow_attr *flow_attr,
> static enum hash_rxq_type
> hash_rxq_type_from_pos(const struct ind_table_init *table, unsigned int pos)
> {
> - enum hash_rxq_type type = 0;
> + enum hash_rxq_type type = HASH_RXQ_TCPV4;
>
> assert(pos < table->hash_types_n);
> do {
> @@ -616,9 +616,10 @@ priv_allow_flow_type(struct priv *priv, enum hash_rxq_flow_type type)
> int
> priv_rehash_flows(struct priv *priv)
> {
> - unsigned int i;
> + enum hash_rxq_flow_type i;
>
> - for (i = 0; (i != RTE_DIM((*priv->hash_rxqs)[0].special_flow)); ++i)
> + for (i = HASH_RXQ_FLOW_TYPE_PROMISC;
> + i != RTE_DIM((*priv->hash_rxqs)[0].special_flow); ++i)
Here also.
> if (!priv_allow_flow_type(priv, i)) {
> priv_special_flow_disable(priv, i);
> } else {
> --
> 2.5.5
>
Otherwise that fix looks fine, thanks.
--
Adrien Mazarguil
6WIND
More information about the dev
mailing list