mlx4_en: FIX: Setting default_qpn before using it
authorYevgeny Petrilin <yevgenyp@mellanox.co.il>
Mon, 19 Dec 2011 21:53:38 +0000 (21:53 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 20 Dec 2011 18:31:36 +0000 (13:31 -0500)
When UDP RSS is enabled, we use same QPN for TCP and UDP ranges
The bug is that the default_qpn was used base UDP qpn before it
was set.
Fixes bug introduced in commit: 1202d460b1df3a77fda66f4ba5f90ae3527dd42f

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/en_rx.c

index 630a7c113ab799ef92fd60a5a31f96f40758d229..e8d6ad2dce0afaaa2ffd27017238cd0482334039 100644 (file)
@@ -898,11 +898,11 @@ int mlx4_en_config_rss_steer(struct mlx4_en_priv *priv)
        rss_context = ptr;
        rss_context->base_qpn = cpu_to_be32(ilog2(priv->rx_ring_num) << 24 |
                                            (rss_map->base_qpn));
+       rss_context->default_qpn = cpu_to_be32(rss_map->base_qpn);
        if (priv->mdev->profile.udp_rss) {
                rss_mask |=  MLX4_RSS_UDP_IPV4 | MLX4_RSS_UDP_IPV6;
                rss_context->base_qpn_udp = rss_context->default_qpn;
        }
-       rss_context->default_qpn = cpu_to_be32(rss_map->base_qpn);
        rss_context->flags = rss_mask;
        rss_context->hash_fn = MLX4_RSS_HASH_TOP;
        for (i = 0; i < 10; i++)