mlx4_en: fix allocation of device tx_cq
authorKleber Sacilotto de Souza <klebers@linux.vnet.ibm.com>
Fri, 22 Feb 2013 14:58:02 +0000 (14:58 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 23 Feb 2013 18:51:54 +0000 (13:51 -0500)
The memory to hold the network device tx_cq is not being allocated with
the correct size in mlx4_en_init_netdev(). It should use MAX_TX_RINGS
instead of MAX_RX_RINGS. This can cause problems if the number of tx
rings being used is greater than MAX_RX_RINGS.

Signed-off-by: Kleber Sacilotto de Souza <klebers@linux.vnet.ibm.com>
Acked-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/en_netdev.c

index 5088dc5c3d1a8ee5393e54d4d3810f9eafce3365..5944dd60b9e36bf05fb034b3afeecdd5e3960229 100644 (file)
@@ -2067,7 +2067,7 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port,
                err = -ENOMEM;
                goto out;
        }
-       priv->tx_cq = kzalloc(sizeof(struct mlx4_en_cq) * MAX_RX_RINGS,
+       priv->tx_cq = kzalloc(sizeof(struct mlx4_en_cq) * MAX_TX_RINGS,
                              GFP_KERNEL);
        if (!priv->tx_cq) {
                err = -ENOMEM;