summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2006-03-21 06:33:42 +0100
committerDavid S. Miller <davem@davemloft.net>2006-03-21 06:33:42 +0100
commit4f81c32b028aecd818634b1ef36aae3b2b3e66ce (patch)
treee0c9f0945c1d72cd981aa49ad58792d25499bb6f /drivers
parent[TG3]: Add some missing netif_running() checks (diff)
downloadlinux-4f81c32b028aecd818634b1ef36aae3b2b3e66ce.tar.xz
linux-4f81c32b028aecd818634b1ef36aae3b2b3e66ce.zip
[TG3]: Fix tg3_get_ringparam()
Fix-up tg3_get_ringparam() to return the correct parameters. Set the jumbo rx ring parameter only if it is supported by the chip and currently in use. Add missing value for tx_max_pending, noticed by Rick Jones. Update version to 3.51. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/tg3.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index f7da3bf2fa09..d4f5b58e1dd4 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -69,8 +69,8 @@
#define DRV_MODULE_NAME "tg3"
#define PFX DRV_MODULE_NAME ": "
-#define DRV_MODULE_VERSION "3.50"
-#define DRV_MODULE_RELDATE "Feb 4, 2006"
+#define DRV_MODULE_VERSION "3.51"
+#define DRV_MODULE_RELDATE "Feb 21, 2006"
#define TG3_DEF_MAC_MODE 0
#define TG3_DEF_RX_MODE 0
@@ -7593,11 +7593,20 @@ static void tg3_get_ringparam(struct net_device *dev, struct ethtool_ringparam *
ering->rx_max_pending = TG3_RX_RING_SIZE - 1;
ering->rx_mini_max_pending = 0;
- ering->rx_jumbo_max_pending = TG3_RX_JUMBO_RING_SIZE - 1;
+ if (tp->tg3_flags & TG3_FLAG_JUMBO_RING_ENABLE)
+ ering->rx_jumbo_max_pending = TG3_RX_JUMBO_RING_SIZE - 1;
+ else
+ ering->rx_jumbo_max_pending = 0;
+
+ ering->tx_max_pending = TG3_TX_RING_SIZE - 1;
ering->rx_pending = tp->rx_pending;
ering->rx_mini_pending = 0;
- ering->rx_jumbo_pending = tp->rx_jumbo_pending;
+ if (tp->tg3_flags & TG3_FLAG_JUMBO_RING_ENABLE)
+ ering->rx_jumbo_pending = tp->rx_jumbo_pending;
+ else
+ ering->rx_jumbo_pending = 0;
+
ering->tx_pending = tp->tx_pending;
}