All of lore.kernel.org
 help / color / mirror / Atom feed
* RTL8153 1G USB ethernet kernel hang bug
@ 2021-01-06 17:13 David Mytton
  2021-01-07  9:38 ` Oliver Neukum
  0 siblings, 1 reply; 4+ messages in thread
From: David Mytton @ 2021-01-06 17:13 UTC (permalink / raw)
  To: nic_swsd; +Cc: linux-usb

I'd like to report a bug in the Realtek driver for a RTL8153 10/100/1000
Ethernet adapter built-in to a USB-C connected Philips 272B7QUPBEB 27" QHD LCD
Monitor. It is not limited to the monitor as I have seen other similar reports of
USB Ethernet adapters with the same issue using the same driver.

I have reproduced this on Kernel 5.10.2 and 5.9.11, both Manjaro, but have seen
reports across multiple distros.

Symptoms:

- After a period of time following a reboot, ethernet connectivity suddenly
  drops. Wi-Fi might take over, but not reliably.
- There is a kernel trace in the journalctl output (see below).
- Attempting to do anything related to the network causes a hang e.g. running
  inxi hangs after CPU output.
- The only way to recover is to hard reset. reboot command also hangs.

Reproduce steps:

- Reports (below) seem to suggest it is related to throughput, but I am unable to
  trigger it on demand. Only after a period of usage after reboot ranging from
  1-2 hours to up to 24 hours does it happen.

Workaround:

- Set usbcore.autosuspend=-1 pci_aspm=off kernel params. This has solved the
  issue for me; the system has been stable with several days of uptime.

Various discussions of this issue exist:

- https://forum.manjaro.org/t/usb-ethernet-adapter-hangs-system-reliably/44755/14
- https://bugzilla.opensuse.org/show_bug.cgi?id=1083866
- https://bugzilla.kernel.org/show_bug.cgi?id=198931 (r8152)
- https://bugzilla.kernel.org/show_bug.cgi?id=200977 (r8153)

The last one - Kernel bug 200977 - seems most relevant. It has been open since
2018 on 4.15.0-33-generic.

lsusb snippet:

idVendor           0x0bda Realtek Semiconductor Corp.
idProduct          0x8153 RTL8153 Gigabit Ethernet Adapter
bcdDevice           31.00
iManufacturer           1 Realtek
iProduct                2 USB 10/100/1000 LAN
iSerial                 6 001000001

journalctl snippet:

Jan 01 18:15:52 dm-labtop-mk4 kernel: INFO: task kworker/8:1:2634 blocked for more than 122 seconds.
Jan 01 18:15:52 dm-labtop-mk4 kernel:       Tainted: G           OE     5.10.2-2-MANJARO #1
Jan 01 18:15:52 dm-labtop-mk4 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Jan 01 18:15:52 dm-labtop-mk4 kernel: task:kworker/8:1     state:D stack:    0 pid: 2634 ppid:     2 flags:0x00004080
Jan 01 18:15:52 dm-labtop-mk4 kernel: Workqueue: events rtl_work_func_t [r8152]
Jan 01 18:15:52 dm-labtop-mk4 kernel: Call Trace:
Jan 01 18:15:52 dm-labtop-mk4 kernel:  __schedule+0x295/0x810
Jan 01 18:15:52 dm-labtop-mk4 kernel:  schedule+0x5b/0xc0
Jan 01 18:15:52 dm-labtop-mk4 kernel:  rpm_resume+0x18c/0x810
Jan 01 18:15:52 dm-labtop-mk4 kernel:  ? wait_woken+0x80/0x80
Jan 01 18:15:52 dm-labtop-mk4 kernel:  rpm_resume+0x308/0x810
Jan 01 18:15:52 dm-labtop-mk4 kernel:  __pm_runtime_resume+0x3b/0x60
Jan 01 18:15:52 dm-labtop-mk4 kernel:  usb_autopm_get_interface+0x18/0x50
Jan 01 18:15:52 dm-labtop-mk4 kernel:  rtl_work_func_t+0x69/0x2d0 [r8152]
Jan 01 18:15:52 dm-labtop-mk4 kernel:  process_one_work+0x1d6/0x3a0
Jan 01 18:15:52 dm-labtop-mk4 kernel:  worker_thread+0x4d/0x3d0
Jan 01 18:15:52 dm-labtop-mk4 kernel:  ? rescuer_thread+0x410/0x410
Jan 01 18:15:52 dm-labtop-mk4 kernel:  kthread+0x133/0x150
Jan 01 18:15:52 dm-labtop-mk4 kernel:  ? __kthread_bind_mask+0x60/0x60
Jan 01 18:15:52 dm-labtop-mk4 kernel:  ret_from_fork+0x1f/0x30
Jan 01 18:17:55 dm-labtop-mk4 kernel: INFO: task kworker/8:1:2634 blocked for more than 245 seconds.
Jan 01 18:17:55 dm-labtop-mk4 kernel:       Tainted: G           OE     5.10.2-2-MANJARO #1
Jan 01 18:17:55 dm-labtop-mk4 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Jan 01 18:17:55 dm-labtop-mk4 kernel: task:kworker/8:1     state:D stack:    0 pid: 2634 ppid:     2 flags:0x00004080
Jan 01 18:17:55 dm-labtop-mk4 kernel: Workqueue: events rtl_work_func_t [r8152]

Full output:

$ lsusb -v

Bus 002 Device 005: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         9
  idVendor           0x0bda Realtek Semiconductor Corp.
  idProduct          0x8153 RTL8153 Gigabit Ethernet Adapter
  bcdDevice           31.00
  iManufacturer           1 Realtek
  iProduct                2 USB 10/100/1000 LAN
  iSerial                 6 001000001
  bNumConfigurations      2
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0039
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              288mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               3
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               3
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval               8
        bMaxBurst               0
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0062
    bNumInterfaces          2
    bConfigurationValue     2
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              288mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      6 Ethernet Networking
      bInterfaceProtocol      0
      iInterface              5
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1
      CDC Ethernet:
        iMacAddress                      3 (??)
        bmEthernetStatistics    0x00000000
        wMaxSegmentSize               1514
        wNumberMCFilters            0x0000
        bNumberPowerFilters              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               8
        bMaxBurst               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              4
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               3
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               3

Jan 01 18:15:52 dm-labtop-mk4 kernel: INFO: task kworker/8:1:2634 blocked for more than 122 seconds.
Jan 01 18:15:52 dm-labtop-mk4 kernel:       Tainted: G           OE     5.10.2-2-MANJARO #1
Jan 01 18:15:52 dm-labtop-mk4 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Jan 01 18:15:52 dm-labtop-mk4 kernel: task:kworker/8:1     state:D stack:    0 pid: 2634 ppid:     2 flags:0x00004080
Jan 01 18:15:52 dm-labtop-mk4 kernel: Workqueue: events rtl_work_func_t [r8152]
Jan 01 18:15:52 dm-labtop-mk4 kernel: Call Trace:
Jan 01 18:15:52 dm-labtop-mk4 kernel:  __schedule+0x295/0x810
Jan 01 18:15:52 dm-labtop-mk4 kernel:  schedule+0x5b/0xc0
Jan 01 18:15:52 dm-labtop-mk4 kernel:  rpm_resume+0x18c/0x810
Jan 01 18:15:52 dm-labtop-mk4 kernel:  ? wait_woken+0x80/0x80
Jan 01 18:15:52 dm-labtop-mk4 kernel:  rpm_resume+0x308/0x810
Jan 01 18:15:52 dm-labtop-mk4 kernel:  __pm_runtime_resume+0x3b/0x60
Jan 01 18:15:52 dm-labtop-mk4 kernel:  usb_autopm_get_interface+0x18/0x50
Jan 01 18:15:52 dm-labtop-mk4 kernel:  rtl_work_func_t+0x69/0x2d0 [r8152]
Jan 01 18:15:52 dm-labtop-mk4 kernel:  process_one_work+0x1d6/0x3a0
Jan 01 18:15:52 dm-labtop-mk4 kernel:  worker_thread+0x4d/0x3d0
Jan 01 18:15:52 dm-labtop-mk4 kernel:  ? rescuer_thread+0x410/0x410
Jan 01 18:15:52 dm-labtop-mk4 kernel:  kthread+0x133/0x150
Jan 01 18:15:52 dm-labtop-mk4 kernel:  ? __kthread_bind_mask+0x60/0x60
Jan 01 18:15:52 dm-labtop-mk4 kernel:  ret_from_fork+0x1f/0x30
Jan 01 18:17:55 dm-labtop-mk4 kernel: INFO: task kworker/8:1:2634 blocked for more than 245 seconds.
Jan 01 18:17:55 dm-labtop-mk4 kernel:       Tainted: G           OE     5.10.2-2-MANJARO #1
Jan 01 18:17:55 dm-labtop-mk4 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Jan 01 18:17:55 dm-labtop-mk4 kernel: task:kworker/8:1     state:D stack:    0 pid: 2634 ppid:     2 flags:0x00004080
Jan 01 18:17:55 dm-labtop-mk4 kernel: Workqueue: events rtl_work_func_t [r8152]
Jan 01 18:17:55 dm-labtop-mk4 kernel: Call Trace:
Jan 01 18:17:55 dm-labtop-mk4 kernel:  __schedule+0x295/0x810
Jan 01 18:17:55 dm-labtop-mk4 kernel:  schedule+0x5b/0xc0
Jan 01 18:17:55 dm-labtop-mk4 kernel:  rpm_resume+0x18c/0x810
Jan 01 18:17:55 dm-labtop-mk4 kernel:  ? wait_woken+0x80/0x80
Jan 01 18:17:55 dm-labtop-mk4 kernel:  rpm_resume+0x308/0x810
Jan 01 18:17:55 dm-labtop-mk4 kernel:  __pm_runtime_resume+0x3b/0x60
Jan 01 18:17:55 dm-labtop-mk4 kernel:  usb_autopm_get_interface+0x18/0x50
Jan 01 18:17:55 dm-labtop-mk4 kernel:  rtl_work_func_t+0x69/0x2d0 [r8152]
Jan 01 18:17:55 dm-labtop-mk4 kernel:  process_one_work+0x1d6/0x3a0
Jan 01 18:17:55 dm-labtop-mk4 kernel:  worker_thread+0x4d/0x3d0
Jan 01 18:17:55 dm-labtop-mk4 kernel:  ? rescuer_thread+0x410/0x410
Jan 01 18:17:55 dm-labtop-mk4 kernel:  kthread+0x133/0x150
Jan 01 18:17:55 dm-labtop-mk4 kernel:  ? __kthread_bind_mask+0x60/0x60
Jan 01 18:17:55 dm-labtop-mk4 kernel:  ret_from_fork+0x1f/0x30
Jan 01 18:19:58 dm-labtop-mk4 kernel: INFO: task kworker/8:1:2634 blocked for more than 368 seconds.
Jan 01 18:19:58 dm-labtop-mk4 kernel:       Tainted: G           OE     5.10.2-2-MANJARO #1
Jan 01 18:19:58 dm-labtop-mk4 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Jan 01 18:19:58 dm-labtop-mk4 kernel: task:kworker/8:1     state:D stack:    0 pid: 2634 ppid:     2 flags:0x00004080
Jan 01 18:19:58 dm-labtop-mk4 kernel: Workqueue: events rtl_work_func_t [r8152]
Jan 01 18:19:58 dm-labtop-mk4 kernel: Call Trace:
Jan 01 18:19:58 dm-labtop-mk4 kernel:  __schedule+0x295/0x810
Jan 01 18:19:58 dm-labtop-mk4 kernel:  schedule+0x5b/0xc0
Jan 01 18:19:58 dm-labtop-mk4 kernel:  rpm_resume+0x18c/0x810
Jan 01 18:19:58 dm-labtop-mk4 kernel:  ? wait_woken+0x80/0x80
Jan 01 18:19:58 dm-labtop-mk4 kernel:  rpm_resume+0x308/0x810
Jan 01 18:19:58 dm-labtop-mk4 kernel:  __pm_runtime_resume+0x3b/0x60
Jan 01 18:19:58 dm-labtop-mk4 kernel:  usb_autopm_get_interface+0x18/0x50
Jan 01 18:19:58 dm-labtop-mk4 kernel:  rtl_work_func_t+0x69/0x2d0 [r8152]
Jan 01 18:19:58 dm-labtop-mk4 kernel:  process_one_work+0x1d6/0x3a0
Jan 01 18:19:58 dm-labtop-mk4 kernel:  worker_thread+0x4d/0x3d0
Jan 01 18:19:58 dm-labtop-mk4 kernel:  ? rescuer_thread+0x410/0x410
Jan 01 18:19:58 dm-labtop-mk4 kernel:  kthread+0x133/0x150
Jan 01 18:19:58 dm-labtop-mk4 kernel:  ? __kthread_bind_mask+0x60/0x60
Jan 01 18:19:58 dm-labtop-mk4 kernel:  ret_from_fork+0x1f/0x30
Jan 01 18:22:00 dm-labtop-mk4 kernel: INFO: task kworker/8:1:2634 blocked for more than 491 seconds.
Jan 01 18:22:01 dm-labtop-mk4 kernel:       Tainted: G           OE     5.10.2-2-MANJARO #1
Jan 01 18:22:01 dm-labtop-mk4 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Jan 01 18:22:01 dm-labtop-mk4 kernel: task:kworker/8:1     state:D stack:    0 pid: 2634 ppid:     2 flags:0x00004080
Jan 01 18:22:01 dm-labtop-mk4 kernel: Workqueue: events rtl_work_func_t [r8152]
Jan 01 18:22:01 dm-labtop-mk4 kernel: Call Trace:
Jan 01 18:22:01 dm-labtop-mk4 kernel:  __schedule+0x295/0x810
Jan 01 18:22:01 dm-labtop-mk4 kernel:  schedule+0x5b/0xc0
Jan 01 18:22:01 dm-labtop-mk4 kernel:  rpm_resume+0x18c/0x810
Jan 01 18:22:01 dm-labtop-mk4 kernel:  ? wait_woken+0x80/0x80
Jan 01 18:22:01 dm-labtop-mk4 kernel:  rpm_resume+0x308/0x810
Jan 01 18:22:01 dm-labtop-mk4 kernel:  __pm_runtime_resume+0x3b/0x60
Jan 01 18:22:01 dm-labtop-mk4 kernel:  usb_autopm_get_interface+0x18/0x50
Jan 01 18:22:01 dm-labtop-mk4 kernel:  rtl_work_func_t+0x69/0x2d0 [r8152]
Jan 01 18:22:01 dm-labtop-mk4 kernel:  process_one_work+0x1d6/0x3a0
Jan 01 18:22:01 dm-labtop-mk4 kernel:  worker_thread+0x4d/0x3d0
Jan 01 18:22:01 dm-labtop-mk4 kernel:  ? rescuer_thread+0x410/0x410
Jan 01 18:22:01 dm-labtop-mk4 kernel:  kthread+0x133/0x150
Jan 01 18:22:01 dm-labtop-mk4 kernel:  ? __kthread_bind_mask+0x60/0x60
Jan 01 18:22:01 dm-labtop-mk4 kernel:  ret_from_fork+0x1f/0x30
Jan 01 18:24:03 dm-labtop-mk4 kernel: INFO: task kworker/8:1:2634 blocked for more than 614 seconds.
Jan 01 18:24:03 dm-labtop-mk4 kernel:       Tainted: G           OE     5.10.2-2-MANJARO #1
Jan 01 18:24:03 dm-labtop-mk4 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Jan 01 18:24:03 dm-labtop-mk4 kernel: task:kworker/8:1     state:D stack:    0 pid: 2634 ppid:     2 flags:0x00004080
Jan 01 18:24:03 dm-labtop-mk4 kernel: Workqueue: events rtl_work_func_t [r8152]
Jan 01 18:24:03 dm-labtop-mk4 kernel: Call Trace:
Jan 01 18:24:03 dm-labtop-mk4 kernel:  __schedule+0x295/0x810
Jan 01 18:24:03 dm-labtop-mk4 kernel:  schedule+0x5b/0xc0
Jan 01 18:24:03 dm-labtop-mk4 kernel:  rpm_resume+0x18c/0x810
Jan 01 18:24:03 dm-labtop-mk4 kernel:  ? wait_woken+0x80/0x80
Jan 01 18:24:03 dm-labtop-mk4 kernel:  rpm_resume+0x308/0x810
Jan 01 18:24:03 dm-labtop-mk4 kernel:  __pm_runtime_resume+0x3b/0x60
Jan 01 18:24:03 dm-labtop-mk4 kernel:  usb_autopm_get_interface+0x18/0x50
Jan 01 18:24:03 dm-labtop-mk4 kernel:  rtl_work_func_t+0x69/0x2d0 [r8152]
Jan 01 18:24:03 dm-labtop-mk4 kernel:  process_one_work+0x1d6/0x3a0
Jan 01 18:24:03 dm-labtop-mk4 kernel:  worker_thread+0x4d/0x3d0
Jan 01 18:24:03 dm-labtop-mk4 kernel:  ? rescuer_thread+0x410/0x410
Jan 01 18:24:03 dm-labtop-mk4 kernel:  kthread+0x133/0x150
Jan 01 18:24:03 dm-labtop-mk4 kernel:  ? __kthread_bind_mask+0x60/0x60
Jan 01 18:24:03 dm-labtop-mk4 kernel:  ret_from_fork+0x1f/0x30
Jan 01 18:26:06 dm-labtop-mk4 kernel: INFO: task kworker/8:1:2634 blocked for more than 737 seconds.
Jan 01 18:26:06 dm-labtop-mk4 kernel:       Tainted: G           OE     5.10.2-2-MANJARO #1
Jan 01 18:26:06 dm-labtop-mk4 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Jan 01 18:26:06 dm-labtop-mk4 kernel: task:kworker/8:1     state:D stack:    0 pid: 2634 ppid:     2 flags:0x00004080
Jan 01 18:26:06 dm-labtop-mk4 kernel: Workqueue: events rtl_work_func_t [r8152]
Jan 01 18:26:06 dm-labtop-mk4 kernel: Call Trace:
Jan 01 18:26:06 dm-labtop-mk4 kernel:  __schedule+0x295/0x810
Jan 01 18:26:06 dm-labtop-mk4 kernel:  schedule+0x5b/0xc0
Jan 01 18:26:06 dm-labtop-mk4 kernel:  rpm_resume+0x18c/0x810
Jan 01 18:26:06 dm-labtop-mk4 kernel:  ? wait_woken+0x80/0x80
Jan 01 18:26:06 dm-labtop-mk4 kernel:  rpm_resume+0x308/0x810
Jan 01 18:26:06 dm-labtop-mk4 kernel:  __pm_runtime_resume+0x3b/0x60
Jan 01 18:26:06 dm-labtop-mk4 kernel:  usb_autopm_get_interface+0x18/0x50
Jan 01 18:26:06 dm-labtop-mk4 kernel:  rtl_work_func_t+0x69/0x2d0 [r8152]
Jan 01 18:26:06 dm-labtop-mk4 kernel:  process_one_work+0x1d6/0x3a0
Jan 01 18:26:06 dm-labtop-mk4 kernel:  worker_thread+0x4d/0x3d0
Jan 01 18:26:06 dm-labtop-mk4 kernel:  ? rescuer_thread+0x410/0x410
Jan 01 18:26:06 dm-labtop-mk4 kernel:  kthread+0x133/0x150
Jan 01 18:26:06 dm-labtop-mk4 kernel:  ? __kthread_bind_mask+0x60/0x60
Jan 01 18:26:06 dm-labtop-mk4 kernel:  ret_from_fork+0x1f/0x30
Jan 01 18:28:09 dm-labtop-mk4 kernel: INFO: task kworker/8:1:2634 blocked for more than 860 seconds.
Jan 01 18:28:09 dm-labtop-mk4 kernel:       Tainted: G           OE     5.10.2-2-MANJARO #1
Jan 01 18:28:09 dm-labtop-mk4 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Jan 01 18:28:09 dm-labtop-mk4 kernel: task:kworker/8:1     state:D stack:    0 pid: 2634 ppid:     2 flags:0x00004080
Jan 01 18:28:09 dm-labtop-mk4 kernel: Workqueue: events rtl_work_func_t [r8152]
Jan 01 18:28:09 dm-labtop-mk4 kernel: Call Trace:
Jan 01 18:28:09 dm-labtop-mk4 kernel:  __schedule+0x295/0x810
Jan 01 18:28:09 dm-labtop-mk4 kernel:  schedule+0x5b/0xc0
Jan 01 18:28:09 dm-labtop-mk4 kernel:  rpm_resume+0x18c/0x810
Jan 01 18:28:09 dm-labtop-mk4 kernel:  ? wait_woken+0x80/0x80
Jan 01 18:28:09 dm-labtop-mk4 kernel:  rpm_resume+0x308/0x810
Jan 01 18:28:09 dm-labtop-mk4 kernel:  __pm_runtime_resume+0x3b/0x60
Jan 01 18:28:09 dm-labtop-mk4 kernel:  usb_autopm_get_interface+0x18/0x50
Jan 01 18:28:09 dm-labtop-mk4 kernel:  rtl_work_func_t+0x69/0x2d0 [r8152]
Jan 01 18:28:09 dm-labtop-mk4 kernel:  process_one_work+0x1d6/0x3a0
Jan 01 18:28:09 dm-labtop-mk4 kernel:  worker_thread+0x4d/0x3d0
Jan 01 18:28:09 dm-labtop-mk4 kernel:  ? rescuer_thread+0x410/0x410
Jan 01 18:28:09 dm-labtop-mk4 kernel:  kthread+0x133/0x150
Jan 01 18:28:09 dm-labtop-mk4 kernel:  ? __kthread_bind_mask+0x60/0x60
Jan 01 18:28:09 dm-labtop-mk4 kernel:  ret_from_fork+0x1f/0x30
Jan 01 18:30:12 dm-labtop-mk4 kernel: INFO: task kworker/8:1:2634 blocked for more than 983 seconds.
Jan 01 18:30:12 dm-labtop-mk4 kernel:       Tainted: G           OE     5.10.2-2-MANJARO #1
Jan 01 18:30:12 dm-labtop-mk4 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Jan 01 18:30:12 dm-labtop-mk4 kernel: task:kworker/8:1     state:D stack:    0 pid: 2634 ppid:     2 flags:0x00004080
Jan 01 18:30:12 dm-labtop-mk4 kernel: Workqueue: events rtl_work_func_t [r8152]
Jan 01 18:30:12 dm-labtop-mk4 kernel: Call Trace:
Jan 01 18:30:12 dm-labtop-mk4 kernel:  __schedule+0x295/0x810
Jan 01 18:30:12 dm-labtop-mk4 kernel:  schedule+0x5b/0xc0
Jan 01 18:30:12 dm-labtop-mk4 kernel:  rpm_resume+0x18c/0x810
Jan 01 18:30:12 dm-labtop-mk4 kernel:  ? wait_woken+0x80/0x80
Jan 01 18:30:12 dm-labtop-mk4 kernel:  rpm_resume+0x308/0x810
Jan 01 18:30:12 dm-labtop-mk4 kernel:  __pm_runtime_resume+0x3b/0x60
Jan 01 18:30:12 dm-labtop-mk4 kernel:  usb_autopm_get_interface+0x18/0x50
Jan 01 18:30:12 dm-labtop-mk4 kernel:  rtl_work_func_t+0x69/0x2d0 [r8152]
Jan 01 18:30:12 dm-labtop-mk4 kernel:  process_one_work+0x1d6/0x3a0
Jan 01 18:30:12 dm-labtop-mk4 kernel:  worker_thread+0x4d/0x3d0
Jan 01 18:30:12 dm-labtop-mk4 kernel:  ? rescuer_thread+0x410/0x410
Jan 01 18:30:12 dm-labtop-mk4 kernel:  kthread+0x133/0x150
Jan 01 18:30:12 dm-labtop-mk4 kernel:  ? __kthread_bind_mask+0x60/0x60
Jan 01 18:30:12 dm-labtop-mk4 kernel:  ret_from_fork+0x1f/0x30
Jan 01 18:32:15 dm-labtop-mk4 kernel: INFO: task kworker/8:1:2634 blocked for more than 1105 seconds.
Jan 01 18:32:15 dm-labtop-mk4 kernel:       Tainted: G           OE     5.10.2-2-MANJARO #1
Jan 01 18:32:15 dm-labtop-mk4 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Jan 01 18:32:15 dm-labtop-mk4 kernel: task:kworker/8:1     state:D stack:    0 pid: 2634 ppid:     2 flags:0x00004080
Jan 01 18:32:15 dm-labtop-mk4 kernel: Workqueue: events rtl_work_func_t [r8152]
Jan 01 18:32:15 dm-labtop-mk4 kernel: Call Trace:
Jan 01 18:32:15 dm-labtop-mk4 kernel:  __schedule+0x295/0x810
Jan 01 18:32:15 dm-labtop-mk4 kernel:  schedule+0x5b/0xc0
Jan 01 18:32:15 dm-labtop-mk4 kernel:  rpm_resume+0x18c/0x810
Jan 01 18:32:15 dm-labtop-mk4 kernel:  ? wait_woken+0x80/0x80
Jan 01 18:32:15 dm-labtop-mk4 kernel:  rpm_resume+0x308/0x810
Jan 01 18:32:15 dm-labtop-mk4 kernel:  __pm_runtime_resume+0x3b/0x60
Jan 01 18:32:15 dm-labtop-mk4 kernel:  usb_autopm_get_interface+0x18/0x50
Jan 01 18:32:15 dm-labtop-mk4 kernel:  rtl_work_func_t+0x69/0x2d0 [r8152]
Jan 01 18:32:15 dm-labtop-mk4 kernel:  process_one_work+0x1d6/0x3a0
Jan 01 18:32:15 dm-labtop-mk4 kernel:  worker_thread+0x4d/0x3d0
Jan 01 18:32:15 dm-labtop-mk4 kernel:  ? rescuer_thread+0x410/0x410
Jan 01 18:32:15 dm-labtop-mk4 kernel:  kthread+0x133/0x150
Jan 01 18:32:15 dm-labtop-mk4 kernel:  ? __kthread_bind_mask+0x60/0x60
Jan 01 18:32:15 dm-labtop-mk4 kernel:  ret_from_fork+0x1f/0x30
Jan 01 18:32:44 dm-labtop-mk4 wpa_supplicant[625]: wlo1: CTRL-EVENT-BEACON-LOSS
Jan 01 18:32:44 dm-labtop-mk4 wpa_supplicant[625]: wlo1: CTRL-EVENT-BEACON-LOSS
Jan 01 18:32:44 dm-labtop-mk4 wpa_supplicant[625]: wlo1: CTRL-EVENT-BEACON-LOSS
Jan 01 18:32:44 dm-labtop-mk4 wpa_supplicant[625]: wlo1: CTRL-EVENT-BEACON-LOSS
Jan 01 18:34:18 dm-labtop-mk4 kernel: INFO: task kworker/8:1:2634 blocked for more than 1228 seconds.
Jan 01 18:34:18 dm-labtop-mk4 kernel:       Tainted: G           OE     5.10.2-2-MANJARO #1
Jan 01 18:34:18 dm-labtop-mk4 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Jan 01 18:34:18 dm-labtop-mk4 kernel: task:kworker/8:1     state:D stack:    0 pid: 2634 ppid:     2 flags:0x00004080
Jan 01 18:34:18 dm-labtop-mk4 kernel: Workqueue: events rtl_work_func_t [r8152]
Jan 01 18:34:18 dm-labtop-mk4 kernel: Call Trace:
Jan 01 18:34:18 dm-labtop-mk4 kernel:  __schedule+0x295/0x810
Jan 01 18:34:18 dm-labtop-mk4 kernel:  schedule+0x5b/0xc0
Jan 01 18:34:18 dm-labtop-mk4 kernel:  rpm_resume+0x18c/0x810
Jan 01 18:34:18 dm-labtop-mk4 kernel:  ? wait_woken+0x80/0x80
Jan 01 18:34:18 dm-labtop-mk4 kernel:  rpm_resume+0x308/0x810
Jan 01 18:34:18 dm-labtop-mk4 kernel:  __pm_runtime_resume+0x3b/0x60
Jan 01 18:34:18 dm-labtop-mk4 kernel:  usb_autopm_get_interface+0x18/0x50
Jan 01 18:34:18 dm-labtop-mk4 kernel:  rtl_work_func_t+0x69/0x2d0 [r8152]
Jan 01 18:34:18 dm-labtop-mk4 kernel:  process_one_work+0x1d6/0x3a0
Jan 01 18:34:18 dm-labtop-mk4 kernel:  worker_thread+0x4d/0x3d0
Jan 01 18:34:18 dm-labtop-mk4 kernel:  ? rescuer_thread+0x410/0x410
Jan 01 18:34:18 dm-labtop-mk4 kernel:  kthread+0x133/0x150
Jan 01 18:34:18 dm-labtop-mk4 kernel:  ? __kthread_bind_mask+0x60/0x60
Jan 01 18:34:18 dm-labtop-mk4 kernel:  ret_from_fork+0x1f/0x30

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: RTL8153 1G USB ethernet kernel hang bug
  2021-01-06 17:13 RTL8153 1G USB ethernet kernel hang bug David Mytton
@ 2021-01-07  9:38 ` Oliver Neukum
  2021-02-08  8:08   ` David Mytton
  0 siblings, 1 reply; 4+ messages in thread
From: Oliver Neukum @ 2021-01-07  9:38 UTC (permalink / raw)
  To: David Mytton, nic_swsd; +Cc: linux-usb

Am Mittwoch, den 06.01.2021, 17:13 +0000 schrieb David Mytton:
> I'd like to report a bug in the Realtek driver for a RTL8153 10/100/1000
> Ethernet adapter built-in to a USB-C connected Philips 272B7QUPBEB 27" QHD LCD
> Monitor. It is not limited to the monitor as I have seen other similar reports of
> USB Ethernet adapters with the same issue using the same driver.
> 
> I have reproduced this on Kernel 5.10.2 and 5.9.11, both Manjaro, but have seen
> reports across multiple distros.
> 
> Symptoms:
> 
> - After a period of time following a reboot, ethernet connectivity suddenly
>   drops. Wi-Fi might take over, but not reliably.
> - There is a kernel trace in the journalctl output (see below).

The trace indicates that runtime power management is waiting for
something, but not for what.

> - Attempting to do anything related to the network causes a hang e.g. running
>   inxi hangs after CPU output.
> - The only way to recover is to hard reset. reboot command also hangs.

The processes are in state D (uninterruptible wait)

> - Set usbcore.autosuspend=-1 pci_aspm=off kernel params. This has solved the
>   issue for me; the system has been stable with several days of uptime.

That switches off runtime PM. 

The unsolved question is what the kernel is waiting for. Or whether we
have a deadlock. Have you tried a kernel with lockdep enabled?
Could you try to get a lock with dynamic debugging enabled for
the module usbcore?

In this case I don't think a usbmon trace is going to help much, as
the kernel is stuck.

	Regards
		Oliver



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: RTL8153 1G USB ethernet kernel hang bug
  2021-01-07  9:38 ` Oliver Neukum
@ 2021-02-08  8:08   ` David Mytton
  0 siblings, 0 replies; 4+ messages in thread
From: David Mytton @ 2021-02-08  8:08 UTC (permalink / raw)
  To: Oliver Neukum; +Cc: nic_swsd, linux-usb


> On 7 Jan 2021, at 09:38, Oliver Neukum <oneukum@suse.com> wrote:
> 
> The unsolved question is what the kernel is waiting for. Or whether we
> have a deadlock. Have you tried a kernel with lockdep enabled?
> Could you try to get a lock with dynamic debugging enabled for
> the module usbcore?

(Un)fortunately I’ve been unable to reproduce this so far, even with the kernel options mentioned in my original message disabled. I’ll post again if I see it. The later message in this thread from Jens Vogler 2021-01-31 may provide some further debug info though.

David

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: RTL8153 1G USB ethernet kernel hang bug
       [not found] <87129afc5fa1c2dc84a480118b54cb925eefc2f7.camel () suse ! com>
@ 2021-01-31 12:42 ` Jens Vogler
  0 siblings, 0 replies; 4+ messages in thread
From: Jens Vogler @ 2021-01-31 12:42 UTC (permalink / raw)
  To: linux-usb

I seem to have the same issue with the following hardware configuration:

Laptop: Lenovo E15
Dock: Lenovo ThinkPad Dock Hub

lsusb output:

Bus 002 Device 003: ID 17ef:1020 Lenovo ThinkPad Dock Hub
Bus 002 Device 004: ID 17ef:3062 Lenovo ThinkPad Dock Ethernet [Realtek 
RTL8153B]
If relevant, the bus? for the Ethernet controller is 2-2.1

lsusb -v output: https://u14356439.ct.sendgrid.net/ls/click?upn=pRar9pMC1vFolratsg1s0-2FeInVZDGg-2FcACqM0tswpz99pOjf8bjPgCtR36QcejtFKB-z_6pwKHJ8Ph1XTyv7ONZlOBKhPm-2FqdBrDnSeervB5zzLfRVCpDK7IOLV34dv2avSKDAPt09SLlnol1PqxfBoNSymegnVS7pppyfglTAlk6PoO1qLqLGYQk0eV16iRFuLK-2BwnDTfejC7ZkDtSsoaoe8Pb0FGWMsSBioN-2B6xT6-2FBNG5JAuY7hXR4uDklIN6bxBuq1Xo-2FtwtGVcLNliC9cT6N1EeikQmBTRlm4guTmwMNJb8-3D (includes Hub and Ethernet)

I ran the following commands to get diagnostic data:

echo 1 > /proc/sys/kernel/hung_task_timeout_secs
echo 'module usbcore +p' > /sys/kernel/debug/dynamic_debug/control

I had powertop running in the background and it seems that it hung first 
which lead to the blocked message in the log output. I have another log 
dump without the dynamic debug in usbcore enabled where it was a kworker 
that hung first. Nevertheless the resulting behaviour was the same. Any 
Network interaction failed and NetworkManager hangs as soon as you try 
to interact with it. Sudo also doesn't work for some reason.

Logs:

https://u14356439.ct.sendgrid.net/ls/click?upn=pRar9pMC1vFolratsg1s0x4KSE-2Fo2YdO9l2KR3HCLpCRdjZt57cJtY2NQ5SiDek-2FTWaW_6pwKHJ8Ph1XTyv7ONZlOBKhPm-2FqdBrDnSeervB5zzLfRVCpDK7IOLV34dv2avSKDAPt09SLlnol1PqxfBoNSyogNiezvm3FEJUgy9DUxVqgpZ6bwuOmPxRLIeXrTbjBNLLLEteqYswBQtVlzBHsMIU-2FPTYtaTCxCnhyNjgwonvn-2BkEt1oLE9PDdzH0iaT-2FAiPK7T2NpPyya0dB6BOLmbegtJtE9KSJU-2Fh46y-2FRDDdg8-3D - dmesg with hung task timeout and usbcore 
debug
https://u14356439.ct.sendgrid.net/ls/click?upn=pRar9pMC1vFolratsg1s00lIbb-2FALqvmpxsiExeL0irFXX-2FEjJW8koJnO1i5Jc6iKmYx_6pwKHJ8Ph1XTyv7ONZlOBKhPm-2FqdBrDnSeervB5zzLfRVCpDK7IOLV34dv2avSKDAPt09SLlnol1PqxfBoNSyiI5VX-2BEDYLOFtThYKb1qk10-2FiHAjngVAqyPGWwVLPCeZThfftfsck68iBEYgAiqJllOTabe-2FsBTEDzZTAJYYxx3nZ9Zqn7Fmu0y2Q4DEF-2BvNhNvqfQysRMa8qCQtqXn-2FWY2lezTZ4Cay3nD5J-2FMOXg-3D - journalctl dump, (pretty much the same 
as the dmesg)
https://u14356439.ct.sendgrid.net/ls/click?upn=pRar9pMC1vFolratsg1s02I42YHBdpzG3piI7nftF04n2ZUwZCHVT8DTqfh8jiWpxg_g_6pwKHJ8Ph1XTyv7ONZlOBKhPm-2FqdBrDnSeervB5zzLfRVCpDK7IOLV34dv2avSKDAPt09SLlnol1PqxfBoNSyvJB5o8cncMKMT9DPEfqCFfqZkBWg8nJcp7IoHSZOJsRb-2BTP5pzLgtA7fafGGu-2Bc-2B2goZuA9uW8PEvXb3GP58MSQhvcZCg5ZMBXdLEvImO4x7EEJooe5fHc0NGJQXJxo8esdpKkbUnjoosUZF-2FrvEbU-3D - dmesg without usbcore debug. kworker hangs

Possibly relevant log snippet: (right before first hung task)

[19314.449661] usb 2-2.1: usb wakeup-resume
[19314.449723] usb 2-2.1: Waited 0ms for CONNECT
[19314.449727] usb 2-2.1: finish resume
[19314.451065] usb 2-2-port1: resume, status 0
[19314.451067] usb 2-2-port1: status 0203, change 0000, 5.0 Gb/s
[19314.451222] hub 2-2:1.0: state 7 ports 4 chg 0000 evt 0000
[19314.451226] usb usb2-port2: resume, status 0
[19325.748497] usb 2-2.1: usb auto-suspend, wakeup 1
[19325.763258] hub 2-2:1.0: hub_suspend
[19325.769936] usb 2-2: usb auto-suspend, wakeup 1
[19325.786584] hub 2-0:1.0: hub_suspend
[19325.786613] usb usb2: bus auto-suspend, wakeup 1
[19328.126642] usb usb2: usb wakeup-resume
[19328.126654] usb usb2: usb auto-resume
[19328.126682] hub 2-0:1.0: hub_resume
[19328.126763] usb usb2-port2: status 0263 change 0000
[19328.126861] hub 2-0:1.0: state 7 ports 6 chg 0000 evt 0000
[19328.127773] hub 2-0:1.0: state 7 ports 6 chg 0000 evt 0000
[19328.127826] hub 2-2:1.0: state 8 ports 4 chg 0000 evt 0000
[19328.143038] usb 2-2: Waited 0ms for CONNECT
[19328.143040] usb 2-2: finish resume
[19328.143177] hub 2-2:1.0: hub_resume
[19328.143266] usb 2-2-port1: status 0203 change 0000
[19328.143423] usb 2-2-port4: status 0263 change 0000
[19328.159669] usb 2-2.1: usb wakeup-resume
[19328.159729] usb 2-2.1: Waited 0ms for CONNECT
[19328.159734] usb 2-2.1: finish resume
[19328.162261] usb 2-2-port1: resume, status 0
[19328.162270] usb 2-2-port1: status 0203, change 0000, 5.0 Gb/s
[19328.162503] hub 2-2:1.0: state 7 ports 4 chg 0000 evt 0000
[19328.162522] usb usb2-port2: resume, status 0
[19342.890265] INFO: task powertop:6156 blocked for more than 1 seconds.
[19342.890278]       Not tainted 5.10.7-3-MANJARO #1
[19342.890282] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" 
disables this message.
[19342.890289] task:powertop        state:D stack:    0 pid: 6156 ppid:  
6121 flags:0x00000080
[19342.890300] Call Trace:
[19342.890322]  __schedule+0x295/0x810
[19342.890334]  schedule+0x5b/0xc0
[19342.890343]  rpm_resume+0x18c/0x810
[19342.890354]  ? wait_woken+0x80/0x80
[19342.890361]  rpm_resume+0x308/0x810
[19342.890369]  __pm_runtime_resume+0x3b/0x60
[19342.890379]  usb_autopm_get_interface+0x18/0x50
[19342.890395]  rtl8152_get_link_ksettings+0x27/0x80 [r8152]
[19342.890408]  ethtool_get_settings+0xa7/0x1e0
[19342.890421]  dev_ethtool+0x10fe/0x2ac0
[19342.890432]  ? page_counter_try_charge+0x2f/0xb0
[19342.890440]  ? inet_ioctl+0xdd/0x210
[19342.890453]  ? netdev_name_node_lookup_rcu+0x68/0x80
[19342.890461]  dev_ioctl+0x304/0x580
[19342.890468]  sock_do_ioctl+0xe3/0x180
[19342.890477]  sock_ioctl+0x272/0x3e0
[19342.890487]  __x64_sys_ioctl+0x83/0xb0
[19342.890498]  do_syscall_64+0x33/0x40
[19342.890506]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[19342.890515] RIP: 0033:0x7f4a6222cf6b
[19342.890520] RSP: 002b:00007ffdbfcc64d8 EFLAGS: 00000246 ORIG_RAX: 
0000000000000010
[19342.890528] RAX: ffffffffffffffda RBX: 00005578f9b00e60 RCX: 
00007f4a6222cf6b
[19342.890532] RDX: 00007ffdbfcc6520 RSI: 0000000000008946 RDI: 
000000000000007b
[19342.890536] RBP: 00007ffdbfcc65a0 R08: 0000000000000001 R09: 
0031753275306630
[19342.890540] R10: 000000000044c736 R11: 0000000000000246 R12: 
000000000000007b
[19342.890543] R13: 00005578f9b03eb0 R14: 00007ffdbfcc6520 R15: 
0000000000000005


I'm happy to provide more info, it does take some time to reproduce 
though and I'm testing workarounds (e.g. disabling power management). 
Plus I have no idea about the usb stack so I need some guidance to 
collect diagnostics.

Regards Jens


On 07.01.21 10:38, Oliver Neukum wrote:
> Am Mittwoch, den 06.01.2021, 17:13 +0000 schrieb David Mytton:
>> I'd like to report a bug in the Realtek driver for a RTL8153 10/100/1000
>> Ethernet adapter built-in to a USB-C connected Philips 272B7QUPBEB 27" QHD LCD
>> Monitor. It is not limited to the monitor as I have seen other similar reports of
>> USB Ethernet adapters with the same issue using the same driver.
>>
>> I have reproduced this on Kernel 5.10.2 and 5.9.11, both Manjaro, but have seen
>> reports across multiple distros.
>>
>> Symptoms:
>>
>> - After a period of time following a reboot, ethernet connectivity suddenly
>>    drops. Wi-Fi might take over, but not reliably.
>> - There is a kernel trace in the journalctl output (see below).
> The trace indicates that runtime power management is waiting for
> something, but not for what.
>
>> - Attempting to do anything related to the network causes a hang e.g. running
>>    inxi hangs after CPU output.
>> - The only way to recover is to hard reset. reboot command also hangs.
> The processes are in state D (uninterruptible wait)
>
>> - Set usbcore.autosuspend=-1 pci_aspm=off kernel params. This has solved the
>>    issue for me; the system has been stable with several days of uptime.
> That switches off runtime PM.
>
> The unsolved question is what the kernel is waiting for. Or whether we
> have a deadlock. Have you tried a kernel with lockdep enabled?
> Could you try to get a lock with dynamic debugging enabled for
> the module usbcore?
>
> In this case I don't think a usbmon trace is going to help much, as
> the kernel is stuck.
>
> 	Regards
> 		Oliver

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-02-08  8:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-06 17:13 RTL8153 1G USB ethernet kernel hang bug David Mytton
2021-01-07  9:38 ` Oliver Neukum
2021-02-08  8:08   ` David Mytton
     [not found] <87129afc5fa1c2dc84a480118b54cb925eefc2f7.camel () suse ! com>
2021-01-31 12:42 ` Jens Vogler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.