diff options
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx4/en_tx.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/en_tx.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_tx.c b/drivers/net/ethernet/mellanox/mlx4/en_tx.c index bc0cc1eb214d..8be7483f8236 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_tx.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_tx.c | |||
@@ -108,9 +108,9 @@ int mlx4_en_create_tx_ring(struct mlx4_en_priv *priv, | |||
108 | 108 | ||
109 | ring->buf = ring->wqres.buf.direct.buf; | 109 | ring->buf = ring->wqres.buf.direct.buf; |
110 | 110 | ||
111 | en_dbg(DRV, priv, "Allocated TX ring (addr:%p) - buf:%p size:%d " | 111 | en_dbg(DRV, priv, "Allocated TX ring (addr:%p) - buf:%p size:%d buf_size:%d dma:%llx\n", |
112 | "buf_size:%d dma:%llx\n", ring, ring->buf, ring->size, | 112 | ring, ring->buf, ring->size, ring->buf_size, |
113 | ring->buf_size, (unsigned long long) ring->wqres.buf.direct.map); | 113 | (unsigned long long) ring->wqres.buf.direct.map); |
114 | 114 | ||
115 | ring->qpn = qpn; | 115 | ring->qpn = qpn; |
116 | err = mlx4_qp_alloc(mdev->dev, ring->qpn, &ring->qp, GFP_KERNEL); | 116 | err = mlx4_qp_alloc(mdev->dev, ring->qpn, &ring->qp, GFP_KERNEL); |
@@ -122,7 +122,7 @@ int mlx4_en_create_tx_ring(struct mlx4_en_priv *priv, | |||
122 | 122 | ||
123 | err = mlx4_bf_alloc(mdev->dev, &ring->bf, node); | 123 | err = mlx4_bf_alloc(mdev->dev, &ring->bf, node); |
124 | if (err) { | 124 | if (err) { |
125 | en_dbg(DRV, priv, "working without blueflame (%d)", err); | 125 | en_dbg(DRV, priv, "working without blueflame (%d)\n", err); |
126 | ring->bf.uar = &mdev->priv_uar; | 126 | ring->bf.uar = &mdev->priv_uar; |
127 | ring->bf.uar->map = mdev->uar_map; | 127 | ring->bf.uar->map = mdev->uar_map; |
128 | ring->bf_enabled = false; | 128 | ring->bf_enabled = false; |
@@ -474,9 +474,15 @@ int mlx4_en_poll_tx_cq(struct napi_struct *napi, int budget) | |||
474 | /* If we used up all the quota - we're probably not done yet... */ | 474 | /* If we used up all the quota - we're probably not done yet... */ |
475 | if (done < budget) { | 475 | if (done < budget) { |
476 | /* Done for now */ | 476 | /* Done for now */ |
477 | cq->mcq.irq_affinity_change = false; | ||
477 | napi_complete(napi); | 478 | napi_complete(napi); |
478 | mlx4_en_arm_cq(priv, cq); | 479 | mlx4_en_arm_cq(priv, cq); |
479 | return done; | 480 | return done; |
481 | } else if (unlikely(cq->mcq.irq_affinity_change)) { | ||
482 | cq->mcq.irq_affinity_change = false; | ||
483 | napi_complete(napi); | ||
484 | mlx4_en_arm_cq(priv, cq); | ||
485 | return 0; | ||
480 | } | 486 | } |
481 | return budget; | 487 | return budget; |
482 | } | 488 | } |