Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e0636236 authored by Chun-Hao Lin's avatar Chun-Hao Lin Committed by David S. Miller
Browse files

r8169: add checking driver's runtime pm status in rtl8169_get_ethtool_stats()



Not to call rtl8169_update_counters() to dump tally counter when driver
is in runtime suspend state.

Calling rtl8169_update_counters() in runtime suspend state will produce
warning message "rtl_counters_cond == 1 (loop: 1000, delay: 10)".

Signed-off-by: default avatarChunhao Lin <hau@realtek.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5fa80a32
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -2308,12 +2308,18 @@ static void rtl8169_get_ethtool_stats(struct net_device *dev,
				      struct ethtool_stats *stats, u64 *data)
{
	struct rtl8169_private *tp = netdev_priv(dev);
	struct device *d = &tp->pci_dev->dev;
	struct rtl8169_counters *counters = tp->counters;

	ASSERT_RTNL();

	pm_runtime_get_noresume(d);

	if (pm_runtime_active(d))
		rtl8169_update_counters(dev);

	pm_runtime_put_noidle(d);

	data[0] = le64_to_cpu(counters->tx_packets);
	data[1] = le64_to_cpu(counters->rx_packets);
	data[2] = le64_to_cpu(counters->tx_errors);