From: Chunhao Lin <hau@realtek.com>
To: <netdev@vger.kernel.org>
Cc: <nic_swsd@realtek.com>, <linux-kernel@vger.kernel.org>,
Chunhao Lin <hau@realtek.com>
Subject: [PATCH net 2/3] r8169:eliminate error message in using ethtool -S when nic is down.
Date: Fri, 26 Feb 2016 16:40:45 +0800 [thread overview]
Message-ID: <1456476046-5436-3-git-send-email-hau@realtek.com> (raw)
In-Reply-To: <1456476046-5436-1-git-send-email-hau@realtek.com>
This issue is caused by runtime power management. When NIC is down (ifconfig down)
the NIC may be put into runtime suspend state, that cause driver cannot dump
tally counter successfully and incur error message "rtl_counters_cond == 1
(loop: 1000, delay: 10)"
In this patch I add deceting driver runtime pm state. If driver is in runtime
suspend state, I will skip dump tall counter.
Signed-off-by: Chunhao Lin <hau@realtek.com>
---
drivers/net/ethernet/realtek/r8169.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 432b278..3e9eb64 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -2291,11 +2291,17 @@ static void rtl8169_get_ethtool_stats(struct net_device *dev,
struct ethtool_stats *stats, u64 *data)
{
struct rtl8169_private *tp = netdev_priv(dev);
+ struct pci_dev *pdev = tp->pci_dev;
struct rtl8169_counters *counters = tp->counters;
ASSERT_RTNL();
- rtl8169_update_counters(dev);
+ pm_runtime_get_noresume(&pdev->dev);
+
+ if (pm_runtime_active(&pdev->dev))
+ rtl8169_update_counters(dev);
+
+ pm_runtime_put_noidle(&pdev->dev);
data[0] = le64_to_cpu(counters->tx_packets);
data[1] = le64_to_cpu(counters->rx_packets);
--
1.9.1
next prev parent reply other threads:[~2016-02-26 8:40 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-26 8:40 [PATCH net 0/3] r8169:issues fix Chunhao Lin
2016-02-26 8:40 ` [PATCH net 1/3] r8169:fix nic sometimes doesn't work after changing the mac address Chunhao Lin
2016-02-26 23:31 ` Francois Romieu
2016-02-27 18:19 ` Hau
2016-02-26 8:40 ` Chunhao Lin [this message]
2016-02-26 8:40 ` [PATCH net 3/3] r8169: Enable RX_MULTI_EN for RTL_GIGA_MAC_VER_41~48 Chunhao Lin
2016-03-01 20:24 ` [PATCH net 0/3] r8169:issues fix David Miller
2016-03-02 16:32 ` Hau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1456476046-5436-3-git-send-email-hau@realtek.com \
--to=hau@realtek.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nic_swsd@realtek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).