diff options
author | Eric Dumazet <edumazet@google.com> | 2014-10-29 19:54:45 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-10-30 16:50:47 -0400 |
commit | 477b35b44febe2c972e35ca6517ea9c9768a2458 (patch) | |
tree | 8f3412d9f54c4c25c21be07c08415324c58812b0 | |
parent | f4e715c3254e3c0167b5d4272901a2b248b65ad2 (diff) |
mlx4: use napi_schedule_irqoff()
mlx4_en_rx_irq() and mlx4_en_tx_irq() run from hard interrupt context.
They can use napi_schedule_irqoff() instead of napi_schedule()
Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-By: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/en_rx.c | 4 | ||||
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/en_tx.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c index c8e75dab8055..c562c1468944 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c | |||
@@ -878,8 +878,8 @@ void mlx4_en_rx_irq(struct mlx4_cq *mcq) | |||
878 | struct mlx4_en_cq *cq = container_of(mcq, struct mlx4_en_cq, mcq); | 878 | struct mlx4_en_cq *cq = container_of(mcq, struct mlx4_en_cq, mcq); |
879 | struct mlx4_en_priv *priv = netdev_priv(cq->dev); | 879 | struct mlx4_en_priv *priv = netdev_priv(cq->dev); |
880 | 880 | ||
881 | if (priv->port_up) | 881 | if (likely(priv->port_up)) |
882 | napi_schedule(&cq->napi); | 882 | napi_schedule_irqoff(&cq->napi); |
883 | else | 883 | else |
884 | mlx4_en_arm_cq(priv, cq); | 884 | mlx4_en_arm_cq(priv, cq); |
885 | } | 885 | } |
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_tx.c b/drivers/net/ethernet/mellanox/mlx4/en_tx.c index 34c137878545..5c4062921cdf 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_tx.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_tx.c | |||
@@ -479,8 +479,8 @@ void mlx4_en_tx_irq(struct mlx4_cq *mcq) | |||
479 | struct mlx4_en_cq *cq = container_of(mcq, struct mlx4_en_cq, mcq); | 479 | struct mlx4_en_cq *cq = container_of(mcq, struct mlx4_en_cq, mcq); |
480 | struct mlx4_en_priv *priv = netdev_priv(cq->dev); | 480 | struct mlx4_en_priv *priv = netdev_priv(cq->dev); |
481 | 481 | ||
482 | if (priv->port_up) | 482 | if (likely(priv->port_up)) |
483 | napi_schedule(&cq->napi); | 483 | napi_schedule_irqoff(&cq->napi); |
484 | else | 484 | else |
485 | mlx4_en_arm_cq(priv, cq); | 485 | mlx4_en_arm_cq(priv, cq); |
486 | } | 486 | } |