]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
be2net: fix ethtool ringparam reporting
authorSathya Perla <sathya.perla@emulex.com>
Tue, 13 Dec 2011 00:58:49 +0000 (00:58 +0000)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Mon, 7 May 2012 21:44:05 +0000 (14:44 -0700)
The ethtool "-g" option is supposed to report the max queue length and
user modified queue length for RX and TX queues.  be2net doesn't support
user modification of queue lengths. So, the correct values for these
would be the max numbers.
be2net incorrectly reports the queue used values for these fields.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/benet/be_ethtool.c

index 05ad5ae076bbe2cf32d2c2446ce638ffaee241cd..a8b0eb5b92e54e495bf82bb9484a535bf77ecc9c 100644 (file)
@@ -523,16 +523,13 @@ static int be_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd)
        return 0;
 }
 
-static void
-be_get_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring)
+static void be_get_ringparam(struct net_device *netdev,
+                            struct ethtool_ringparam *ring)
 {
        struct be_adapter *adapter = netdev_priv(netdev);
 
-       ring->rx_max_pending = adapter->rx_obj[0].q.len;
-       ring->tx_max_pending = adapter->tx_obj[0].q.len;
-
-       ring->rx_pending = atomic_read(&adapter->rx_obj[0].q.used);
-       ring->tx_pending = atomic_read(&adapter->tx_obj[0].q.used);
+       ring->rx_max_pending = ring->rx_pending = adapter->rx_obj[0].q.len;
+       ring->tx_max_pending = ring->tx_pending = adapter->tx_obj[0].q.len;
 }
 
 static void