Re: [PATCH 6.1 000/102] 6.1.98-rc1 review

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch
    usb: xhci: prevent potential failure in handle_tx_event() for
Transfer events without TRB
    https://patches.linaro.org/project/linux-usb/patch/20240429140245.3955523-11-mathias.nyman@xxxxxxxxxxxxxxx/
causes The Linux kernel
    6.1.98
    https://lkml.org/lkml/2024/7/9/645
to crash when plugging in a USB Seagate drive.
    https://www.seagate.com/ca/en/products/gaming-drives/pc-gaming/firecuda-gaming-hub/
This is a regression.

Behavior of 6.1.98:
==============================================================================
scsi host1: uas_eh_device_reset_handler start
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu:     0-...!: (1 GPs behind) idle=686c/0/0x1 softirq=1841/1841 fqs=610
(detected by 4, t=5253 jiffies, g=2269, q=225 ncpus=6)
Task dump for CPU 0:
task:swapper/0       state:R  running task     stack:0     pid:0
ppid:0      flags:0x0000000
8
Call trace:
__switch_to+0xe4/0x160
0xd7f8f808
rcu: rcu_preempt kthread timer wakeup didn't happen for 4037 jiffies!
g2269 f0x0 RCU_GP_WAIT_FQS
(5) ->state=0x402
rcu:     Possible timer handling issue on cpu=5 timer-softirq=1141
rcu: rcu_preempt kthread starved for 4043 jiffies! g2269 f0x0
RCU_GP_WAIT_FQS(5) ->state=0x402 -
>cpu=5
rcu:     Unless rcu_preempt kthread gets sufficient CPU time, OOM is
now expected behavior.
rcu: RCU grace-period kthread stack dump:
task:rcu_preempt     state:I stack:0     pid:14    ppid:2      flags:0x00000008
Call trace:
__switch_to+0xe4/0x160
__schedule+0x28c/0x710
schedule+0x5c/0xd0
schedule_timeout+0x8c/0x100
rcu_gp_fqs_loop+0x140/0x4a0
rcu_gp_kthread+0x13c/0x170
kthread+0x108/0x10c
ret_from_fork+0x10/0x20
rcu: Stack dump where RCU GP kthread last ran:
Task dump for CPU 5:
task:kworker/5:1     state:R  running task     stack:0     pid:89
ppid:2      flags:0x0000000
8
Workqueue: events xhci_handle_command_timeout
Call trace:
__switch_to+0xe4/0x160
0x0


Behavior of 6.1.97 (or 6.1.978 with the patch reverted):
==============================================================================
scsi host1: uas_eh_device_reset_handler start
usb 2-1.4.2.1: reset SuperSpeed USB device number 6 using xhci-hcd
scsi host1: uas_eh_device_reset_handler success
sd 1:0:0:0:31251759103 512-byte logical blocks: (16.0 TB/14.6 TiB)
sd 1:0:0:0:Write Protect is off
sd 1:0:0:0:Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 1:0:0:0:Preferred minimum I/O size 512 bytes
sd 1:0:0:0:Optimal transfer size 33553920 bytes
sdb: sdb1
sd 1:0:0:0:Attached SCSI disk
sd 0:0:0:0:tag#6 uas_eh_abort_handler 0 uas-tag 1 inflight: CMD IN
sd 0:0:0:0:tag#6 CDB: opcode=0x9e, sa=0x10 9e 10 00 00 00 00 00 00 00
00 00 00 00 20 00 0
0
scsi host0: uas_eh_device_reset_handler start
usb 2-1.4.1: reset SuperSpeed USB device number 5 using xhci-hcd
scsi host0: uas_eh_device_reset_handler success
sd 0:0:0:0:31251759103 512-byte logical blocks: (16.0 TB/14.6 TiB)
sd 0:0:0:0:Write Protect is off
sd 0:0:0:0:Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 0:0:0:0:Preferred minimum I/O size 512 bytes
sd 0:0:0:0:Optimal transfer size 33553920 bytes
sda: sda1
sd 0:0:0:0:Attached SCSI disk




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux