https://bugzilla.kernel.org/show_bug.cgi?id=215880 --- Comment #37 from Bart Van Assche (bvanassche@xxxxxxx) --- On 8/25/22 13:01, bugzilla-daemon@xxxxxxxxxx wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=215880 > > --- Comment #36 from jason600 (jason600.groome@xxxxxxxxx) --- > (In reply to Bart Van Assche from comment #27) >> Thanks for testing! The patches from the sd-resume branch have been posted >> on the linux-scsi mailing list. See also >> >> https://lore.kernel.org/linux-scsi/20220628222131.14780-1-bvanassche@xxxxxxx/ >> T/#t > > Hi Bart, just an update for you. I noticed this had been removed from the > 6.0-rc1 for freezing after suspend. > > I've been compiling my kernel with this fix on various 5.18 kernels (with > opensuse tumbleweed), it has worked fine, no freezing on resume as others > have > mentioned. > > Yesterday, I updated to 5.19.2 kernel, applied the fix, recompiled, and it > froze after the first suspend. Rebooted and the same thing happened again. I > recompiled the kernel with the fix, just to make sure i didn't mess it up, > and > the same happened again. > > When you originally did this fix, you based it on 5.18, and indeed, it works > fine on 5.18 for me. There were a lot of changes to the drivers/scsi/sd.c > file > for 5.19, presumably it was those changes that made this fix start freezing > after suspend. > > Perhaps you could check if the other people that experienced freezing were > using either 5.19 or 6.0-rc1. Multiple people reported issues with freezes during suspend with kernel v6.0-rc1. Please take a look at the following report: https://lore.kernel.org/all/dd6844e7-f338-a4e9-2dad-0960e25b2ca1@xxxxxxxxxx/. It shows that if zoned ATA disks are present that blk_mq_freeze_queue() may be called from inside ata_scsi_dev_rescan() on the context of a work queue. ATA rescanning happens from inside the SCSI error handler. So there is potential for a lockup because of the following: * Execution of the START command being postponed because the SCSI error handler is active. * blk_mq_freeze_queue() waiting for the START command to finish. * The START completion handler not being executed because it got queued on the same work queue as the ATA rescan work. Unfortunately I do not know enough about the ATA core to proceed. I need help from an ATA expert. -- You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.