diff options
author | Michael Chan <mchan@broadcom.com> | 2006-03-21 06:33:42 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-03-21 06:33:42 +0100 |
commit | 4f81c32b028aecd818634b1ef36aae3b2b3e66ce (patch) | |
tree | e0c9f0945c1d72cd981aa49ad58792d25499bb6f | |
parent | [TG3]: Add some missing netif_running() checks (diff) | |
download | linux-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>
-rw-r--r-- | drivers/net/tg3.c | 17 |
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; } |