net/mlx4_en: Check device state when setting coalescing
When the device is down, CQs are freed. We must check the device state to avoid issuing firmware commands on non existing CQs. CC: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Eugenia Emantayev <eugenia@mellanox.com> Signed-off-by: Amir Vadai <amirv@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
be4f154d5e
Коммит
38463e2c29
|
@ -53,9 +53,11 @@ static int mlx4_en_moderation_update(struct mlx4_en_priv *priv)
|
|||
for (i = 0; i < priv->tx_ring_num; i++) {
|
||||
priv->tx_cq[i].moder_cnt = priv->tx_frames;
|
||||
priv->tx_cq[i].moder_time = priv->tx_usecs;
|
||||
err = mlx4_en_set_cq_moder(priv, &priv->tx_cq[i]);
|
||||
if (err)
|
||||
return err;
|
||||
if (priv->port_up) {
|
||||
err = mlx4_en_set_cq_moder(priv, &priv->tx_cq[i]);
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
if (priv->adaptive_rx_coal)
|
||||
|
@ -65,9 +67,11 @@ static int mlx4_en_moderation_update(struct mlx4_en_priv *priv)
|
|||
priv->rx_cq[i].moder_cnt = priv->rx_frames;
|
||||
priv->rx_cq[i].moder_time = priv->rx_usecs;
|
||||
priv->last_moder_time[i] = MLX4_EN_AUTO_CONF;
|
||||
err = mlx4_en_set_cq_moder(priv, &priv->rx_cq[i]);
|
||||
if (err)
|
||||
return err;
|
||||
if (priv->port_up) {
|
||||
err = mlx4_en_set_cq_moder(priv, &priv->rx_cq[i]);
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
return err;
|
||||
|
|
Загрузка…
Ссылка в новой задаче