r8152: wake up the device before dumping the hw counter
authorhayeswang <hayeswang@realtek.com>
Tue, 8 Jul 2014 06:49:28 +0000 (14:49 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 9 Jul 2014 02:41:43 +0000 (19:41 -0700)
The device should be waked up from runtime suspend before dumping
the hw counter.

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/r8152.c

index 25431965a625a63d99fd3fa6d3167183ea45606a..a795ecf8d5b6393fd0f02055bddf21bf52d12ec0 100644 (file)
@@ -3204,8 +3204,13 @@ static void rtl8152_get_ethtool_stats(struct net_device *dev,
        struct r8152 *tp = netdev_priv(dev);
        struct tally_counter tally;
 
+       if (usb_autopm_get_interface(tp->intf) < 0)
+               return;
+
        generic_ocp_read(tp, PLA_TALLYCNT, sizeof(tally), &tally, MCU_TYPE_PLA);
 
+       usb_autopm_put_interface(tp->intf);
+
        data[0] = le64_to_cpu(tally.tx_packets);
        data[1] = le64_to_cpu(tally.rx_packets);
        data[2] = le64_to_cpu(tally.tx_errors);