[SRU][I/raspi][PATCH 0/2] Raspberry pi 4 USB controller randomly crashes (LP: #1930629)

Juerg Haefliger juerg.haefliger at canonical.com
Mon Aug 30 15:13:32 UTC 2021


[ Impact ]

USB disks attached to a Pi experience something like:

[ 494.062055] sd 2:0:0:0: [sda] tag#12 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD
[ 494.069923] sd 2:0:0:0: [sda] tag#12 CDB: Write(10) 2a 00 00 02 6d 4f 00 00 48 00
[ 499.182085] sd 2:0:0:0: [sda] tag#13 uas_eh_abort_handler 0 uas-tag 2 inflight: CMD OUT
[ 499.190310] sd 2:0:0:0: [sda] tag#13 CDB: Write(10) 2a 00 00 02 6d 97 00 00 4d 00
[ 504.302113] sd 2:0:0:0: [sda] tag#19 uas_eh_abort_handler 0 uas-tag 5 inflight: CMD OUT
[ 504.310336] sd 2:0:0:0: [sda] tag#19 CDB: Write(10) 2a 00 00 00 95 da 00 00 01 00

And:

[ 535.538311] scsi host2: uas_eh_device_reset_handler start
[ 535.544699] xhci_hcd 0000:01:00.0: WARN Set TR Deq Ptr cmd failed due to incorrect slot or ep state.
[ 535.554032] xhci_hcd 0000:01:00.0: WARN Set TR Deq Ptr cmd failed due to incorrect slot or ep state.


[ Test Case ]

See below.


[ Where Problems Could Occur ]

Modifications are limited to the USB host xhci driver so problems will likely show up when accessing devices that use this host driver.


[ Original Description ]

My raspberry pi 4 running Ubuntu 20.04 server is constantly having trouble the the usb controller.
I have 2 externally powered USB hubs connected that have a few HDDs plugged in.

After a seemingly random amount of time (between 1 minute and 2 days) the usb controller will crash completely. No USB devices are detected anymore after that, i have to reboot the system.

I have tried:
* Providing a lot of cooling (metal case + desktop size fan)
* Switching the USB Hubs to a different brand
* Switching the power supply of the USB hubs
* Switching the power supply of the raspberry

Nothing helped, so i concluded that this probably is a kernel bug. I think the USB controller should not crash at the very least.

I've attached my dmesg.

lsb_release -rd
  Description:	Ubuntu 20.04.2 LTS
  Release:	20.04

linux-raspi version: 5.4.0.1035.70

uname -a
  Linux pi 5.4.0-1035-raspi #38-Ubuntu SMP PREEMPT Tue Apr 20 21:37:03 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux

lsusb (after crash)
  Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
---
ProblemType: Bug
AlsaVersion: Advanced Linux Sound Architecture Driver Version k5.4.0-1035-raspi.
AplayDevices: Error: [Errno 2] No such file or directory: 'aplay'
ApportVersion: 2.20.11-0ubuntu27.18
Architecture: arm64
ArecordDevices: Error: [Errno 2] No such file or directory: 'arecord'
AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/by-path', '/dev/snd/controlC0', '/dev/snd/pcmC0D0p', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
Card0.Amixer.info: Error: [Errno 2] No such file or directory: 'amixer'
Card0.Amixer.values: Error: [Errno 2] No such file or directory: 'amixer'
CasperMD5CheckResult: skip
DistroRelease: Ubuntu 20.04
ImageMediaBuild: 20210201.1
IwConfig: Error: [Errno 2] No such file or directory: 'iwconfig'
Lspci-vt: -[0000:00]---00.0-[01]----00.0  VIA Technologies, Inc. VL805 USB 3.0 Host Controller
Lsusb:
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Lsusb-t:
 /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
 /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
Package: linux-raspi
PackageArchitecture: arm64
PciMultimedia:

ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 LANG=C.UTF-8
 SHELL=/bin/bash
ProcFB:

ProcKernelCmdLine: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 bcm2708_fb.fbwidth=0 bcm2708_fb.fbheight=0 bcm2708_fb.fbswap=1 smsc95xx.macaddr=E4:5F:01:1D:06:FE vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  net.ifnames=0 dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=LABEL=writable rootfstype=ext4 elevator=deadline rootwait fixrtc quiet splash
ProcVersionSignature: Ubuntu 5.4.0-1035.38-raspi 5.4.106
RelatedPackageVersions:
 linux-restricted-modules-5.4.0-1035-raspi N/A
 linux-backports-modules-5.4.0-1035-raspi  N/A
 linux-firmware                            1.187.12
RfKill: Error: [Errno 2] No such file or directory: 'rfkill'
StagingDrivers: bcm2835_isp bcm2835_v4l2 bcm2835_mmal_vchiq bcm2835_codec snd_bcm2835 vc_sm_cma
Tags:  arm64-image raspi-image focal uec-images staging
Uname: Linux 5.4.0-1035-raspi aarch64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: N/A
_MarkForUpload: True
acpidump:

Jonathan Bell (2):
  usb: xhci: workaround for bogus SET_DEQ_PENDING endpoint state
  xhci: guard accesses to ep_state in xhci_endpoint_reset()

 drivers/usb/host/xhci-ring.c | 6 +++---
 drivers/usb/host/xhci.c      | 5 +++++
 2 files changed, 8 insertions(+), 3 deletions(-)

-- 
2.30.2




More information about the kernel-team mailing list