On Sun, Mar 18, 2012 at 5:55 PM, Eric Dumazet [off-list ref] wrot=
e:
On Sun, 2012-03-18 at 17:39 -0400, Paul Gortmaker wrote:
quoted
The __netif_subqueue_stopped() just does the following:
=A0 =A0 =A0 =A0 struct netdev_queue *txq =3D netdev_get_tx_queue(dev, qu=
eue_index);
quoted
=A0 =A0 =A0 =A0 return netif_tx_queue_stopped(txq);
and since we already have the txq in scope, we can just call that
directly in this case.
Suggested-by: Eric Dumazet <redacted>
Signed-off-by: Paul Gortmaker <redacted>
---
=A0drivers/net/ethernet/freescale/gianfar.c | =A0 =A02 +-
=A01 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethe=
rnet/freescale/gianfar.c
quoted
index 6e66cc3..d9428f0 100644
--- a/drivers/net/ethernet/freescale/gianfar.c
+++ b/drivers/net/ethernet/freescale/gianfar.c
@@ -2565,7 +2565,7 @@ static int gfar_clean_tx_ring(struct gfar_priv_tx_=
q *tx_queue)
quoted
=A0 =A0 =A0 }
=A0 =A0 =A0 /* If we freed a buffer, we can restart transmission, if nec=
essary */
quoted
- =A0 =A0 if (__netif_subqueue_stopped(dev, tqi) && tx_queue->num_txbdfr=
ee)
quoted
+ =A0 =A0 if (netif_tx_queue_stopped(txq) && tx_queue->num_txbdfree)
=A0 =A0 =A0 =A0 =A0 =A0 =A0 netif_wake_subqueue(dev, tqi);
=A0 =A0 =A0 /* Update dirty indicators */
Please change netif_wake_subqueue() as well ;)
I looked at this earlier when I added patch #4 but I was concerned about
the different semantics.
The netif_wake_subqueue() just returns on a netpoll_trap but the other
netif_tx_wake_queue() actually calls netif_tx_start_queue() for the same
netpoll_trap instance. Maybe that is OK, but I didn't want to be changing
the behaviour of subtleties in stuff where I am clearly still learning.
Thanks,
Paul.
--
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 =A0http://vger.kernel.org/majordomo-info.html