diff options
author | Rasesh Mody <rmody@brocade.com> | 2010-12-23 16:45:05 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-12-25 22:16:01 -0500 |
commit | f7c0fa4cd5dcf58dd95b216d2c33444a3b4a44e0 (patch) | |
tree | 5836683f415a5806ffccfbb16bac2ede9980587d /drivers/net/bna/bnad_ethtool.c | |
parent | 886f7fedb0cee56acca7620d89186669273d3d56 (diff) |
bna: Fix for TX queue
Change Details:
- Call netif_wake_queue() if we have freed up sufficient elements
at the end of completion processing
- Add netif_queue_stopped counter back to bnad_drv_stats {}
- Get netif_queue_stopped value from stack
- Remove BUG_ON() on value returned by pci_unmap_addr()
Signed-off-by: Debashis Dutt <ddutt@brocade.com>
Signed-off-by: Rasesh Mody <rmody@brocade.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bna/bnad_ethtool.c')
-rw-r--r-- | drivers/net/bna/bnad_ethtool.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/bna/bnad_ethtool.c b/drivers/net/bna/bnad_ethtool.c index 3011110c202..99be5ae9199 100644 --- a/drivers/net/bna/bnad_ethtool.c +++ b/drivers/net/bna/bnad_ethtool.c | |||
@@ -68,6 +68,7 @@ static char *bnad_net_stats_strings[BNAD_ETHTOOL_STATS_NUM] = { | |||
68 | 68 | ||
69 | "netif_queue_stop", | 69 | "netif_queue_stop", |
70 | "netif_queue_wakeup", | 70 | "netif_queue_wakeup", |
71 | "netif_queue_stopped", | ||
71 | "tso4", | 72 | "tso4", |
72 | "tso6", | 73 | "tso6", |
73 | "tso_err", | 74 | "tso_err", |
@@ -1180,6 +1181,9 @@ bnad_get_ethtool_stats(struct net_device *netdev, struct ethtool_stats *stats, | |||
1180 | 1181 | ||
1181 | bi = sizeof(*net_stats64) / sizeof(u64); | 1182 | bi = sizeof(*net_stats64) / sizeof(u64); |
1182 | 1183 | ||
1184 | /* Get netif_queue_stopped from stack */ | ||
1185 | bnad->stats.drv_stats.netif_queue_stopped = netif_queue_stopped(netdev); | ||
1186 | |||
1183 | /* Fill driver stats into ethtool buffers */ | 1187 | /* Fill driver stats into ethtool buffers */ |
1184 | stats64 = (u64 *)&bnad->stats.drv_stats; | 1188 | stats64 = (u64 *)&bnad->stats.drv_stats; |
1185 | for (i = 0; i < sizeof(struct bnad_drv_stats) / sizeof(u64); i++) | 1189 | for (i = 0; i < sizeof(struct bnad_drv_stats) / sizeof(u64); i++) |