mbox series

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

Message ID 20210830151630.289267-1-juergh@canonical.com
Headers show
Series Raspberry pi 4 USB controller randomly crashes (LP: #1930629) | expand

Message

Juerg Haefliger Aug. 30, 2021, 3:16 p.m. UTC
[ 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(-)

Comments

Tim Gardner Aug. 30, 2021, 5:50 p.m. UTC | #1
Acked-by: Tim Gardner <tim.gardner@canonical.com>

On 8/30/21 9:16 AM, Juerg Haefliger wrote:
> [ 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(-)
>
Kleber Sacilotto de Souza Aug. 31, 2021, 12:48 p.m. UTC | #2
On 30.08.21 17:16, Juerg Haefliger wrote:
> [ 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.

Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>

Thanks

> 
> 
> [ 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(-)
>
Juerg Haefliger Sept. 1, 2021, 7:25 a.m. UTC | #3
Applied to focal:linux-raspi and hirsute:linux-raspi master next.

...Juerg


> [ 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(-)
>
Juerg Haefliger Sept. 1, 2021, 7:26 a.m. UTC | #4
This time with the APPLIED subject prefix.

Applied to focal:linux-raspi and hirsute:linux-raspi master next.

...Juerg


> [ 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(-)
>