Patchwork [net-next] forcedeath: Fix bql support for forcedeath

login
register
mail settings
Submitter Igor Maravić
Date Dec. 2, 2011, 9:48 a.m.
Message ID <1322819300-14330-1-git-send-email-igorm@etf.rs>
Download mbox | patch
Permalink /patch/128815/
State Accepted
Delegated to: David Miller
Headers show

Comments

Igor Maravić - Dec. 2, 2011, 9:48 a.m.
From: Igor Maravic <igorm@etf.rs>

Moved netdev_completed_queue() out of while loop in function nv_tx_done_optimized().
Because this function was in while loop,
BUG_ON(count > dql->num_queued - dql->num_completed)
was hit in dql_completed().

Signed-off-by: Igor Maravic <igorm@etf.rs>
---
 drivers/net/ethernet/nvidia/forcedeth.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
Eric Dumazet - Dec. 2, 2011, 10:46 a.m.
Le vendredi 02 décembre 2011 à 10:48 +0100, igorm@etf.rs a écrit :
> From: Igor Maravic <igorm@etf.rs>
> 
> Moved netdev_completed_queue() out of while loop in function nv_tx_done_optimized().
> Because this function was in while loop,
> BUG_ON(count > dql->num_queued - dql->num_completed)
> was hit in dql_completed().
> 
> Signed-off-by: Igor Maravic <igorm@etf.rs>
> ---

Acked-by: Eric Dumazet <eric.dumazet@gmail.com>

Thanks !


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Dec. 2, 2011, 5:39 p.m.
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Fri, 02 Dec 2011 11:46:43 +0100

> Le vendredi 02 décembre 2011 à 10:48 +0100, igorm@etf.rs a écrit :
>> From: Igor Maravic <igorm@etf.rs>
>> 
>> Moved netdev_completed_queue() out of while loop in function nv_tx_done_optimized().
>> Because this function was in while loop,
>> BUG_ON(count > dql->num_queued - dql->num_completed)
>> was hit in dql_completed().
>> 
>> Signed-off-by: Igor Maravic <igorm@etf.rs>
>> ---
> 
> Acked-by: Eric Dumazet <eric.dumazet@gmail.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/net/ethernet/nvidia/forcedeth.c b/drivers/net/ethernet/nvidia/forcedeth.c
index 5245dac..4c4e7f4 100644
--- a/drivers/net/ethernet/nvidia/forcedeth.c
+++ b/drivers/net/ethernet/nvidia/forcedeth.c
@@ -2561,13 +2561,14 @@  static int nv_tx_done_optimized(struct net_device *dev, int limit)
 				nv_tx_flip_ownership(dev);
 		}
 
-		netdev_completed_queue(np->dev, tx_work, bytes_cleaned);
-
 		if (unlikely(np->get_tx.ex++ == np->last_tx.ex))
 			np->get_tx.ex = np->first_tx.ex;
 		if (unlikely(np->get_tx_ctx++ == np->last_tx_ctx))
 			np->get_tx_ctx = np->first_tx_ctx;
 	}
+
+	netdev_completed_queue(np->dev, tx_work, bytes_cleaned);
+
 	if (unlikely((np->tx_stop == 1) && (np->get_tx.ex != orig_get_tx))) {
 		np->tx_stop = 0;
 		netif_wake_queue(dev);