** Description changed:

- a lot of err msgs in kern.log
+ [Impact]
  
- and network connection keep changing in and out
+ After pm-suspend and resume, can't use rtl8169 NIC for networking
  
+ [TestCase]
+ 
+ you need rtl8192 NIC on your machine
+ 
+ reproducer
+ 
+ 1. pm-suspend
+ 2. resume it
+ 3. you can see a lot of err msgs in kern.log
+    and network connection keep changing in and out
+ 
+ There are around 4~5 commits from Chun-Hao Lin <h...@realtek.com>
+ 
+ but it doesn't seem to fix this issue ( 100% sure, just cherrypicked
+ them but failed )
+ 
+ hwe kernel ( -edge as well ) didn't help
+ 
+ [Other info]
  please refer to below msgs
  
  Linux version 4.4.0-78-generic (buildd@lgw01-11) (gcc version 5.4.0
  20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #99-Ubuntu SMP Thu Apr 27
  15:29:09 UTC 2017 (Ubuntu 4.4.0-78.99-generic 4.4.62)
- 
  
  May 31 09:22:44 mnode01 kernel: [  361.994034] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:22:44 mnode01 kernel: [  361.994093] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:23:02 mnode01 kernel: [  379.994504] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:23:02 mnode01 kernel: [  379.994564] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:23:10 mnode01 kernel: [  388.154990] r8169 0000:06:00.0 enp6s0: 
rtl_counters_cond == 1 (loop: 1000, delay: 10).
  May 31 09:23:10 mnode01 kernel: [  388.167721] r8169 0000:06:00.0 enp6s0: 
rtl_counters_cond == 1 (loop: 1000, delay: 10).
  May 31 09:23:12 mnode01 kernel: [  389.948606] r8169 0000:06:00.0 enp6s0: 
rtl_counters_cond == 1 (loop: 1000, delay: 10).
  May 31 09:23:12 mnode01 kernel: [  389.961218] r8169 0000:06:00.0 enp6s0: 
rtl_counters_cond == 1 (loop: 1000, delay: 10).
  May 31 09:23:20 mnode01 kernel: [  398.002922] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:23:20 mnode01 kernel: [  398.002978] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:23:32 mnode01 kernel: [  409.995280] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:23:32 mnode01 kernel: [  409.995337] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:23:44 mnode01 kernel: [  421.995590] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:23:44 mnode01 kernel: [  421.995649] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:23:56 mnode01 kernel: [  433.999904] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:23:56 mnode01 kernel: [  433.999965] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:24:08 mnode01 kernel: [  446.000178] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:24:08 mnode01 kernel: [  446.000227] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:24:20 mnode01 kernel: [  458.004472] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:24:20 mnode01 kernel: [  458.004532] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:24:31 mnode01 kernel: [  469.033314] r8169 0000:06:00.0 enp6s0: 
rtl_counters_cond == 1 (loop: 1000, delay: 10).
  May 31 09:24:31 mnode01 kernel: [  469.046073] r8169 0000:06:00.0 enp6s0: 
rtl_counters_cond == 1 (loop: 1000, delay: 10).
  May 31 09:24:31 mnode01 kernel: [  469.058512] r8169 0000:06:00.0 enp6s0: 
rtl_counters_cond == 1 (loop: 1000, delay: 10).
  May 31 09:24:32 mnode01 kernel: [  470.000793] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:24:32 mnode01 kernel: [  470.000851] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:24:44 mnode01 kernel: [  481.997147] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:24:44 mnode01 kernel: [  481.997206] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:24:56 mnode01 kernel: [  494.001403] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:24:56 mnode01 kernel: [  494.001453] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:25:08 mnode01 kernel: [  505.997768] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:25:08 mnode01 kernel: [  505.997826] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:25:20 mnode01 kernel: [  518.002082] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:25:20 mnode01 kernel: [  518.002141] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:25:32 mnode01 kernel: [  530.002331] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:25:32 mnode01 kernel: [  530.002379] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:25:38 mnode01 kernel: [  536.588896] SGI XFS with ACLs, security 
attributes, realtime, no debug enabled
  May 31 09:25:39 mnode01 kernel: [  536.637037] JFS: nTxBlock = 8192, nTxLock 
= 65536
  May 31 09:25:39 mnode01 kernel: [  536.712978] ntfs: driver 2.1.32 [Flags: 
R/O MODULE].
  May 31 09:25:39 mnode01 kernel: [  536.790129] QNX4 filesystem 0.2.3 
registered.
  May 31 09:25:39 mnode01 kernel: [  536.948239] raid6: sse2x1   gen()  5682 
MB/s
  May 31 09:25:39 mnode01 kernel: [  537.016233] raid6: sse2x1   xor()  5613 
MB/s
  May 31 09:25:39 mnode01 kernel: [  537.084236] raid6: sse2x2   gen() 10905 
MB/s
  May 31 09:25:39 mnode01 kernel: [  537.152234] raid6: sse2x2   xor()  8848 
MB/s
  May 31 09:25:39 mnode01 kernel: [  537.220235] raid6: sse2x4   gen() 14157 
MB/s
  May 31 09:25:39 mnode01 kernel: [  537.288240] raid6: sse2x4   xor() 10597 
MB/s
  May 31 09:25:39 mnode01 kernel: [  537.288241] raid6: using algorithm sse2x4 
gen() 14157 MB/s
  May 31 09:25:39 mnode01 kernel: [  537.288243] raid6: .... xor() 10597 MB/s, 
rmw enabled
  May 31 09:25:39 mnode01 kernel: [  537.288244] raid6: using ssse3x2 recovery 
algorithm
  May 31 09:25:39 mnode01 kernel: [  537.302931] xor: automatically using best 
checksumming function:
  May 31 09:25:39 mnode01 kernel: [  537.340235]    avx       : 22040.000 MB/sec
  May 31 09:25:39 mnode01 kernel: [  537.395390] Btrfs loaded
  May 31 09:25:44 mnode01 kernel: [  542.006643] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:25:44 mnode01 kernel: [  542.006694] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:25:56 mnode01 kernel: [  553.999013] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:25:56 mnode01 kernel: [  553.999077] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:26:08 mnode01 kernel: [  565.999328] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:26:08 mnode01 kernel: [  565.999390] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:26:20 mnode01 kernel: [  577.999374] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:26:20 mnode01 kernel: [  577.999434] r8169 0000:06:00.0 enp6s0: 
link up
  
- 
  below commit seems to patch this issue but not 100% sure (testing)
  
  commit f09cf4b7832d029fb22d8f476eac12fc27dde61f
  Author: Chun-Hao Lin <h...@realtek.com>
  Date:   Wed Feb 24 14:18:42 2016 +0800
  
-     r8169:fix "rtl_counters_cond == 1 (loop: 1000, delay: 10)" log spam.
+     r8169:fix "rtl_counters_cond == 1 (loop: 1000, delay: 10)" log spam.
  
-     There will be a log spam when there is no cable plugged. Please refer to
-     following links. https://bugzilla.kernel.org/show_bug.cgi?id=104351
-     https://bugzilla.kernel.org/show_bug.cgi?id=107421
+     There will be a log spam when there is no cable plugged. Please refer to
+     following links. https://bugzilla.kernel.org/show_bug.cgi?id=104351
+     https://bugzilla.kernel.org/show_bug.cgi?id=107421
  
-     This issue is caused by runtime power management. When there is no cable
-     plugged, the driver will be suspend (runtime suspend) by OS and NIC will 
be
-     put into the D3 state. During this time, if OS call rtl8169_get_stats64()
-     to dump tally counter, because NIC is in D3 state, the register value read
-     by driver will return all 0xff. This will let driver think tally counter
-     flag is not toggled and then sends the warning message "rtl_counters_cond
-     == 1 (loop: 1000, delay: 10)" to kernel log.
+     This issue is caused by runtime power management. When there is no cable
+     plugged, the driver will be suspend (runtime suspend) by OS and NIC will 
be
+     put into the D3 state. During this time, if OS call rtl8169_get_stats64()
+     to dump tally counter, because NIC is in D3 state, the register value read
+     by driver will return all 0xff. This will let driver think tally counter
+     flag is not toggled and then sends the warning message "rtl_counters_cond
+     == 1 (loop: 1000, delay: 10)" to kernel log.
  
-     For fixing this issue, 1.add checking driver's pm runtime status in
-     rtl8169_get_stats64(). 2.dump tally counter before going runtime suspend
-     for counter accuracy in runtime suspend.
+     For fixing this issue, 1.add checking driver's pm runtime status in
+     rtl8169_get_stats64(). 2.dump tally counter before going runtime suspend
+     for counter accuracy in runtime suspend.
  
-     Signed-off-by: Chunhao Lin <h...@realtek.com>
-     Signed-off-by: David S. Miller <da...@davemloft.net>
+     Signed-off-by: Chunhao Lin <h...@realtek.com>
+     Signed-off-by: David S. Miller <da...@davemloft.net>

** Description changed:

  [Impact]
  
  After pm-suspend and resume, can't use rtl8169 NIC for networking
  
  [TestCase]
  
  you need rtl8192 NIC on your machine
  
  reproducer
  
  1. pm-suspend
  2. resume it
  3. you can see a lot of err msgs in kern.log
-    and network connection keep changing in and out
+    and network connection keep changing in and out
  
  There are around 4~5 commits from Chun-Hao Lin <h...@realtek.com>
  
  but it doesn't seem to fix this issue ( 100% sure, just cherrypicked
  them but failed )
  
  hwe kernel ( -edge as well ) didn't help
  
  [Other info]
+ 
+ I can't test the other releases for this issue
+ 
+ 
  please refer to below msgs
  
  Linux version 4.4.0-78-generic (buildd@lgw01-11) (gcc version 5.4.0
  20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #99-Ubuntu SMP Thu Apr 27
  15:29:09 UTC 2017 (Ubuntu 4.4.0-78.99-generic 4.4.62)
  
  May 31 09:22:44 mnode01 kernel: [  361.994034] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:22:44 mnode01 kernel: [  361.994093] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:23:02 mnode01 kernel: [  379.994504] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:23:02 mnode01 kernel: [  379.994564] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:23:10 mnode01 kernel: [  388.154990] r8169 0000:06:00.0 enp6s0: 
rtl_counters_cond == 1 (loop: 1000, delay: 10).
  May 31 09:23:10 mnode01 kernel: [  388.167721] r8169 0000:06:00.0 enp6s0: 
rtl_counters_cond == 1 (loop: 1000, delay: 10).
  May 31 09:23:12 mnode01 kernel: [  389.948606] r8169 0000:06:00.0 enp6s0: 
rtl_counters_cond == 1 (loop: 1000, delay: 10).
  May 31 09:23:12 mnode01 kernel: [  389.961218] r8169 0000:06:00.0 enp6s0: 
rtl_counters_cond == 1 (loop: 1000, delay: 10).
  May 31 09:23:20 mnode01 kernel: [  398.002922] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:23:20 mnode01 kernel: [  398.002978] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:23:32 mnode01 kernel: [  409.995280] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:23:32 mnode01 kernel: [  409.995337] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:23:44 mnode01 kernel: [  421.995590] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:23:44 mnode01 kernel: [  421.995649] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:23:56 mnode01 kernel: [  433.999904] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:23:56 mnode01 kernel: [  433.999965] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:24:08 mnode01 kernel: [  446.000178] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:24:08 mnode01 kernel: [  446.000227] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:24:20 mnode01 kernel: [  458.004472] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:24:20 mnode01 kernel: [  458.004532] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:24:31 mnode01 kernel: [  469.033314] r8169 0000:06:00.0 enp6s0: 
rtl_counters_cond == 1 (loop: 1000, delay: 10).
  May 31 09:24:31 mnode01 kernel: [  469.046073] r8169 0000:06:00.0 enp6s0: 
rtl_counters_cond == 1 (loop: 1000, delay: 10).
  May 31 09:24:31 mnode01 kernel: [  469.058512] r8169 0000:06:00.0 enp6s0: 
rtl_counters_cond == 1 (loop: 1000, delay: 10).
  May 31 09:24:32 mnode01 kernel: [  470.000793] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:24:32 mnode01 kernel: [  470.000851] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:24:44 mnode01 kernel: [  481.997147] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:24:44 mnode01 kernel: [  481.997206] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:24:56 mnode01 kernel: [  494.001403] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:24:56 mnode01 kernel: [  494.001453] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:25:08 mnode01 kernel: [  505.997768] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:25:08 mnode01 kernel: [  505.997826] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:25:20 mnode01 kernel: [  518.002082] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:25:20 mnode01 kernel: [  518.002141] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:25:32 mnode01 kernel: [  530.002331] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:25:32 mnode01 kernel: [  530.002379] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:25:38 mnode01 kernel: [  536.588896] SGI XFS with ACLs, security 
attributes, realtime, no debug enabled
  May 31 09:25:39 mnode01 kernel: [  536.637037] JFS: nTxBlock = 8192, nTxLock 
= 65536
  May 31 09:25:39 mnode01 kernel: [  536.712978] ntfs: driver 2.1.32 [Flags: 
R/O MODULE].
  May 31 09:25:39 mnode01 kernel: [  536.790129] QNX4 filesystem 0.2.3 
registered.
  May 31 09:25:39 mnode01 kernel: [  536.948239] raid6: sse2x1   gen()  5682 
MB/s
  May 31 09:25:39 mnode01 kernel: [  537.016233] raid6: sse2x1   xor()  5613 
MB/s
  May 31 09:25:39 mnode01 kernel: [  537.084236] raid6: sse2x2   gen() 10905 
MB/s
  May 31 09:25:39 mnode01 kernel: [  537.152234] raid6: sse2x2   xor()  8848 
MB/s
  May 31 09:25:39 mnode01 kernel: [  537.220235] raid6: sse2x4   gen() 14157 
MB/s
  May 31 09:25:39 mnode01 kernel: [  537.288240] raid6: sse2x4   xor() 10597 
MB/s
  May 31 09:25:39 mnode01 kernel: [  537.288241] raid6: using algorithm sse2x4 
gen() 14157 MB/s
  May 31 09:25:39 mnode01 kernel: [  537.288243] raid6: .... xor() 10597 MB/s, 
rmw enabled
  May 31 09:25:39 mnode01 kernel: [  537.288244] raid6: using ssse3x2 recovery 
algorithm
  May 31 09:25:39 mnode01 kernel: [  537.302931] xor: automatically using best 
checksumming function:
  May 31 09:25:39 mnode01 kernel: [  537.340235]    avx       : 22040.000 MB/sec
  May 31 09:25:39 mnode01 kernel: [  537.395390] Btrfs loaded
  May 31 09:25:44 mnode01 kernel: [  542.006643] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:25:44 mnode01 kernel: [  542.006694] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:25:56 mnode01 kernel: [  553.999013] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:25:56 mnode01 kernel: [  553.999077] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:26:08 mnode01 kernel: [  565.999328] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:26:08 mnode01 kernel: [  565.999390] r8169 0000:06:00.0 enp6s0: 
link up
  May 31 09:26:20 mnode01 kernel: [  577.999374] r8169 0000:06:00.0 enp6s0: 
rtl_chipcmd_cond == 1 (loop: 100, delay: 100).
  May 31 09:26:20 mnode01 kernel: [  577.999434] r8169 0000:06:00.0 enp6s0: 
link up
  
  below commit seems to patch this issue but not 100% sure (testing)
  
  commit f09cf4b7832d029fb22d8f476eac12fc27dde61f
  Author: Chun-Hao Lin <h...@realtek.com>
  Date:   Wed Feb 24 14:18:42 2016 +0800
  
      r8169:fix "rtl_counters_cond == 1 (loop: 1000, delay: 10)" log spam.
  
      There will be a log spam when there is no cable plugged. Please refer to
      following links. https://bugzilla.kernel.org/show_bug.cgi?id=104351
      https://bugzilla.kernel.org/show_bug.cgi?id=107421
  
      This issue is caused by runtime power management. When there is no cable
      plugged, the driver will be suspend (runtime suspend) by OS and NIC will 
be
      put into the D3 state. During this time, if OS call rtl8169_get_stats64()
      to dump tally counter, because NIC is in D3 state, the register value read
      by driver will return all 0xff. This will let driver think tally counter
      flag is not toggled and then sends the warning message "rtl_counters_cond
      == 1 (loop: 1000, delay: 10)" to kernel log.
  
      For fixing this issue, 1.add checking driver's pm runtime status in
      rtl8169_get_stats64(). 2.dump tally counter before going runtime suspend
      for counter accuracy in runtime suspend.
  
      Signed-off-by: Chunhao Lin <h...@realtek.com>
      Signed-off-by: David S. Miller <da...@davemloft.net>

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1694675

Title:
  After pm-suspend and resume, can't use rtl8169 NIC for networking

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1694675/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to