diff options
-rw-r--r-- | drivers/net/usb/r8152.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index 25431965a625..a795ecf8d5b6 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c | |||
@@ -3204,8 +3204,13 @@ static void rtl8152_get_ethtool_stats(struct net_device *dev, | |||
3204 | struct r8152 *tp = netdev_priv(dev); | 3204 | struct r8152 *tp = netdev_priv(dev); |
3205 | struct tally_counter tally; | 3205 | struct tally_counter tally; |
3206 | 3206 | ||
3207 | if (usb_autopm_get_interface(tp->intf) < 0) | ||
3208 | return; | ||
3209 | |||
3207 | generic_ocp_read(tp, PLA_TALLYCNT, sizeof(tally), &tally, MCU_TYPE_PLA); | 3210 | generic_ocp_read(tp, PLA_TALLYCNT, sizeof(tally), &tally, MCU_TYPE_PLA); |
3208 | 3211 | ||
3212 | usb_autopm_put_interface(tp->intf); | ||
3213 | |||
3209 | data[0] = le64_to_cpu(tally.tx_packets); | 3214 | data[0] = le64_to_cpu(tally.tx_packets); |
3210 | data[1] = le64_to_cpu(tally.rx_packets); | 3215 | data[1] = le64_to_cpu(tally.rx_packets); |
3211 | data[2] = le64_to_cpu(tally.tx_errors); | 3216 | data[2] = le64_to_cpu(tally.tx_errors); |