stable backport request: [PATCH v2] ata: libata-scsi: fix requeue of deferred ATA PASS-THROUGH commands

From: Niklas Cassel

Date: Tue May 19 2026 - 12:37:32 EST


On Sat, May 16, 2026 at 10:53:02AM +0000, Christoph Wiese wrote:
> (my orginal email was html formated, sorry about that)
>
> Hi Niklas,
>
> I notice you already flagged this for backporting to 7.0 stable. Please also include 6.12.y - the buggy parent commit 0ea84089dbf6 was backported to 6.12.77 as 5d61a38a60e6, and the bug reproduces there.
>
> Symptom: parallel sedutil-cli --setLockingRange against multiple ATA OPAL SEDs causes one random drive per invocation to receive a zero-length TRUSTED RECEIVE response ("One or more header fields have 0 length / Session start failed rc = 136"). The OPAL session is opened on the drive by the TRUSTED SEND but the matching TRUSTED RECEIVE is failed at the SCSI mid-layer (scmd->allowed == 0 for SG_IO), leaving an orphan session that only a cold power cycle clears.
>
> Bisect on Debian's 6.12.y kernel (which carries 5d61a38a60e6 unmodified): 6.12.74 works, 6.12.86 broken. I've been running 8ebf408 locally as a cherry-pick on 6.12.88 for ~24h; six OPAL SEDs unlock cleanly on every boot.
>
> Thanks for the fix.

Dear stable maintainers,

Could you please help with backporting commit 8ebf408e7d46 ("ata:
libata-scsi: fix requeue of deferred ATA PASS-THROUGH commands")

to the relevant stable kernels?

It gets a conflict when cherry-picking, so I have attached a version
that can be applied without conflicts.


Kind regards,
Niklas