r8152: don't execute runtime suspend if the tx is not empty
authorhayeswang <hayeswang@realtek.com>
Mon, 23 Jan 2017 06:18:43 +0000 (14:18 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Jan 2017 18:38:47 +0000 (13:38 -0500)
Runtime suspend shouldn't be executed if the tx queue is not empty,
because the device is not idle.

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

index 0e99af0907348e276b72d11503caeb22c1320088..e1466b4d2b6c727148a884672bbd9593bf04b3ac 100644 (file)
@@ -32,7 +32,7 @@
 #define NETNEXT_VERSION                "08"
 
 /* Information for net */
-#define NET_VERSION            "6"
+#define NET_VERSION            "7"
 
 #define DRIVER_VERSION         "v1." NETNEXT_VERSION "." NET_VERSION
 #define DRIVER_AUTHOR "Realtek linux nic maintainers <nic_swsd@realtek.com>"
@@ -3574,6 +3574,8 @@ static bool delay_autosuspend(struct r8152 *tp)
         */
        if (!sw_linking && tp->rtl_ops.in_nway(tp))
                return true;
+       else if (!skb_queue_empty(&tp->tx_queue))
+               return true;
        else
                return false;
 }