* [bug report] ata: ahci: IO error with the default med_power_with_dipm
@ 2025-11-21 7:35 Yihang Li
2025-11-21 14:17 ` Niklas Cassel
0 siblings, 1 reply; 5+ messages in thread
From: Yihang Li @ 2025-11-21 7:35 UTC (permalink / raw)
To: mario.limonciello, dlemoal, cassel
Cc: linux-ide, linuxarm, liyihang9, liuyonglong
Hello Mario, Damien,
After commit 5433f0e7427ae ("ata: Kconfig: Update SATA_MOBILE_LPM_POLICY
default to med_power_with_dipm") from linux v6.11, I am seeing the error,
and eventually, my file system became read-only and could no longer
be used. Please help check whether this is reasonable and how to resolve
this issue?
I am using an standard AHCI controller, connected to a SATA disk, and
using this disk as the system drive.
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 447.1G 0 disk
├─sda1 8:1 0 600M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 445.5G 0 part
├─openeuler-root 252:0 0 70G 0 lvm /
├─openeuler-swap 252:1 0 4G 0 lvm [SWAP]
└─openeuler-home 252:2 0 371.5G 0 lvm /home
Any suggestions on the problem are welcome.
Thanks,
Yihang
error message is as follows:
[ 614.263599] ata1: limiting SATA link speed to 3.0 Gbps
[ 614.269289] ata1.00: exception Emask 0x10 SAct 0x0 SErr 0xf0100 action 0x6 frozen
[ 614.276979] ata1: SError: { UnrecovData PHYRdyChg PHYInt CommWake 10B8B }
[ 614.284037] ata1.00: failed command: FLUSH CACHE
[ 614.288850] ata1.00: cmd e7/00:00:00:00:00/00:00:00:00:00/a0 tag 10
[ 614.288850] res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x14 (ATA bus error)
[ 614.303261] ata1.00: status: { DRDY }
[ 614.307036] ata1: hard resetting link
[ 619.651573] ata1: link is slow to respond, please be patient (ready=-19)
[ 624.499503] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
[ 624.499574] ata1: illegal qc_active transition (00000400->00000001)
[ 629.759549] ata1.00: qc timeout after 5000 msecs (cmd 0xec)
[ 629.765817] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 629.772120] ata1.00: revalidation failed (errno=-5)
[ 629.778303] ata1: hard resetting link
[ 635.139452] ata1: link is slow to respond, please be patient (ready=-19)
[ 639.959462] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
[ 649.987465] ata1.00: qc timeout after 10000 msecs (cmd 0xec)
[ 649.993775] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 650.000159] ata1.00: revalidation failed (errno=-5)
[ 650.006136] ata1: limiting SATA link speed to 1.5 Gbps
[ 650.011470] ata1: hard resetting link
[ 655.351514] ata1: link is slow to respond, please be patient (ready=-19)
[ 660.179451] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 691.967428] ata1.00: qc timeout after 30000 msecs (cmd 0xec)
[ 691.973582] ata1.00: failed to IDENTIFY (I/O error, err_mask=0x4)
[ 691.980156] ata1.00: revalidation failed (errno=-5)
[ 691.985935] ata1.00: disable device
[ 697.299481] ata1: link is slow to respond, please be patient (ready=-19)
[ 702.175503] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 702.182413] ata1: EH complete
[ 702.186319] sd 0:0:0:0: [sda] tag#3 UNKNOWN(0x2003) Result: hostbyte=0x04 driverbyte=DRIVER_OK cmd_age=148s
[ 702.186413] sd 0:0:0:0: [sda] tag#2 UNKNOWN(0x2003) Result: hostbyte=0x04 driverbyte=DRIVER_OK cmd_age=145s
[ 702.196359] sd 0:0:0:0: [sda] tag#3 CDB: opcode=0x35 35 00 00 00 00 00 00 00 00 00
[ 702.206217] sd 0:0:0:0: [sda] tag#2 CDB: opcode=0x28 28 00 04 9b 47 a0 00 00 88 00
[ 702.214189] I/O error, dev sda, sector 0 op 0x1:(WRITE) flags 0x800 phys_seg 0 prio class 0
[ 702.221543] I/O error, dev sda, sector 77285280 op 0x0:(READ) flags 0x80700 phys_seg 11 prio class 0
[ 702.222563] sd 0:0:0:0: [sda] tag#5 UNKNOWN(0x2003) Result: hostbyte=0x04 driverbyte=DRIVER_OK cmd_age=0s
[ 702.222631] sd 0:0:0:0: [sda] tag#5 CDB: opcode=0x28 28 00 03 23 e1 60 00 00 f0 00
[ 702.222693] I/O error, dev sda, sector 52683104 op 0x0:(READ) flags 0x80700 phys_seg 30 prio class 0
[ 702.222873] sd 0:0:0:0: [sda] tag#6 UNKNOWN(0x2003) Result: hostbyte=0x04 driverbyte=DRIVER_OK cmd_age=0s
[ 702.222927] sd 0:0:0:0: [sda] tag#6 CDB: opcode=0x2a 2a 00 00 34 d0 00 00 05 40 00
[ 702.222972] I/O error, dev sda, sector 3461120 op 0x1:(WRITE) flags 0x1004000 phys_seg 168 prio class 0
[ 702.223051] Write-error on swap-device (252:4:131072)
[ 702.223087] Write-error on swap-device (252:4:131080)
[ 702.223110] Write-error on swap-device (252:4:131088)
[ 702.223128] Write-error on swap-device (252:4:131096)
[ 702.223143] Write-error on swap-device (252:4:131104)
[ 702.223155] Write-error on swap-device (252:4:131112)
[ 702.223166] Write-error on swap-device (252:4:131120)
[ 702.223178] Write-error on swap-device (252:4:131128)
[ 702.223193] Write-error on swap-device (252:4:131136)
[ 702.223200] Write-error on swap-device (252:4:131144)
[ 702.223391] sd 0:0:0:0: [sda] tag#17 UNKNOWN(0x2003) Result: hostbyte=0x04 driverbyte=DRIVER_OK cmd_age=0s
[ 702.223405] sd 0:0:0:0: [sda] tag#13 UNKNOWN(0x2003) Result: hostbyte=0x04 driverbyte=DRIVER_OK cmd_age=0s
[ 702.223429] sd 0:0:0:0: [sda] tag#17 CDB: opcode=0x2a 2a 00 03 fe 0d 40 00 00 08 00
[ 702.223455] sd 0:0:0:0: [sda] tag#14 UNKNOWN(0x2003) Result: hostbyte=0x04 driverbyte=DRIVER_OK cmd_age=0s
[ 702.223474] I/O error, dev sda, sector 66981184 op 0x1:(WRITE) flags 0x0 phys_seg 1 prio class 0
[ 702.223501] sd 0:0:0:0: [sda] tag#14 CDB: opcode=0x2a 2a 00 03 fd f8 08 00 05 40 00
[ 702.223517] I/O error, dev sda, sector 66975752 op 0x1:(WRITE) flags 0x4000 phys_seg 168 prio class 0
[ 702.223551] sd 0:0:0:0: [sda] tag#15 UNKNOWN(0x2003) Result: hostbyte=0x04 driverbyte=DRIVER_OK cmd_age=0s
[ 702.223556] sd 0:0:0:0: [sda] tag#15 CDB: opcode=0x2a 2a 00 03 fd fd 48 00 00 d0 00
[ 702.223556] EXT4-fs warning (device dm-0): ext4_end_bio:342: I/O error 10 writing to inode 395063 starting block 1979304)
[ 702.223581] I/O error, dev sda, sector 66977096 op 0x1:(WRITE) flags 0x0 phys_seg 26 prio class 0
[ 702.223606] Buffer I/O error on device dm-0, logical block 1979304
[ 702.223626] sd 0:0:0:0: [sda] tag#13 CDB: opcode=0x2a 2a 00 00 34 d5 40 00 02 18 00
[ 702.223641] EXT4-fs warning (device dm-0): ext4_end_bio:342: I/O error 10 writing to inode 395005 starting block 1978625)
[ 702.223729] I/O error, dev sda, sector 3462464 op 0x1:(WRITE) flags 0x1000000 phys_seg 67 prio class 0
[ 702.223755] sd 0:0:0:0: [sda] tag#20 UNKNOWN(0x2003) Result: hostbyte=0x04 driverbyte=DRIVER_OK cmd_age=0s
[ 702.223773] sd 0:0:0:0: [sda] tag#20 CDB: opcode=0x2a 2a 00 06 54 10 00 00 00 08 00
[ 702.223780] I/O error, dev sda, sector 106172416 op 0x1:(WRITE) flags 0x0 phys_seg 1 prio class 0
[ 702.223803] EXT4-fs warning (device dm-0): ext4_end_bio:342: I/O error 10 writing to inode 395005 starting block 6878208)
[ 702.223792] sd 0:0:0:0: [sda] tag#19 UNKNOWN(0x2003) Result: hostbyte=0x04 driverbyte=DRIVER_OK cmd_age=0s
[ 702.223825] Buffer I/O error on device dm-0, logical block 6878208
[ 702.223980] sd 0:0:0:0: [sda] tag#19 CDB: opcode=0x2a 2a 00 05 16 09 70 00 00 68 00
[ 702.224050] I/O error, dev sda, sector 85330288 op 0x1:(WRITE) flags 0x9800 phys_seg 13 prio class 2
[ 702.224144] Buffer I/O error on device dm-0, logical block 1978625
[ 702.224211] Buffer I/O error on device dm-0, logical block 1978626
[ 702.224222] Buffer I/O error on device dm-0, logical block 1978627
[ 702.224239] Buffer I/O error on device dm-0, logical block 1978628
[ 702.224264] Buffer I/O error on device dm-0, logical block 1978629
[ 702.224277] Buffer I/O error on device dm-0, logical block 1978630
[ 702.224288] Buffer I/O error on device dm-0, logical block 1978631
[ 702.224304] Buffer I/O error on device dm-0, logical block 1978632
[ 702.224338] EXT4-fs warning (device dm-0): ext4_end_bio:342: I/O error 10 writing to inode 395221 starting block 3919882)
[ 702.224827] Aborting journal on device dm-0-8.
[ 702.224947] EXT4-fs error (device dm-0): ext4_journal_check_start:84: comm rasdaemon: Detected aborted journal
[ 702.230833] Buffer I/O error on dev dm-0, logical block 4227072, lost sync page write
[ 702.243123] coredump: 28149(grep): |/usr/lib/systemd/systemd-coredump pipe failed
[ 702.248987] JBD2: I/O error when updating journal superblock for dm-0-8.
[ 702.649651] Buffer I/O error on dev dm-0, logical block 0, lost sync page write
[ 702.657315] EXT4-fs (dm-0): I/O error while writing superblock
[ 702.663495] EXT4-fs (dm-0): Remounting filesystem read-only
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [bug report] ata: ahci: IO error with the default med_power_with_dipm
2025-11-21 7:35 [bug report] ata: ahci: IO error with the default med_power_with_dipm Yihang Li
@ 2025-11-21 14:17 ` Niklas Cassel
2025-11-21 14:29 ` Mario Limonciello (AMD) (kernel.org)
2025-11-24 9:06 ` Yihang Li
0 siblings, 2 replies; 5+ messages in thread
From: Niklas Cassel @ 2025-11-21 14:17 UTC (permalink / raw)
To: Yihang Li; +Cc: mario.limonciello, dlemoal, linux-ide, linuxarm, liuyonglong
On Fri, Nov 21, 2025 at 03:35:02PM +0800, Yihang Li wrote:
> Hello Mario, Damien,
>
> After commit 5433f0e7427ae ("ata: Kconfig: Update SATA_MOBILE_LPM_POLICY
> default to med_power_with_dipm") from linux v6.11, I am seeing the error,
> and eventually, my file system became read-only and could no longer
> be used. Please help check whether this is reasonable and how to resolve
> this issue?
>
> I am using an standard AHCI controller, connected to a SATA disk, and
> using this disk as the system drive.
>
> # lsblk
> NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
> sda 8:0 0 447.1G 0 disk
> ├─sda1 8:1 0 600M 0 part /boot/efi
> ├─sda2 8:2 0 1G 0 part /boot
> └─sda3 8:3 0 445.5G 0 part
> ├─openeuler-root 252:0 0 70G 0 lvm /
> ├─openeuler-swap 252:1 0 4G 0 lvm [SWAP]
> └─openeuler-home 252:2 0 371.5G 0 lvm /home
>
> Any suggestions on the problem are welcome.
Hello Yihang Li,
As far as we can tell, it appears that a lot of vendors have not
implemented LPM properly, or have issues with LPM in their firmware.
The way we solve it is to quirk these broken devices, see e.g.:
https://github.com/torvalds/linux/blob/v6.18-rc6/drivers/ata/libata-core.c#L4209-L4213
Please tell us which the model of your drive:
$ lsblk -o MODEL /dev/sdX
and the firmware version
$ lsblk -o REV /dev/sdX
So we can create a quirk.
It would also be helpful if you could share which AHCI adapter you are using:
$ lspci -nn | grep -i ahci
$ lspci -nn | grep -i sata
If you want to verify that disabling LPM works for your drive, you can add:
libata.force=nolpm on the kernel command line.
Kind regards,
Niklas
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [bug report] ata: ahci: IO error with the default med_power_with_dipm
2025-11-21 14:17 ` Niklas Cassel
@ 2025-11-21 14:29 ` Mario Limonciello (AMD) (kernel.org)
2025-11-24 9:13 ` Yihang Li
2025-11-24 9:06 ` Yihang Li
1 sibling, 1 reply; 5+ messages in thread
From: Mario Limonciello (AMD) (kernel.org) @ 2025-11-21 14:29 UTC (permalink / raw)
To: Niklas Cassel, Yihang Li; +Cc: dlemoal, linux-ide, linuxarm, liuyonglong
On 11/21/2025 8:17 AM, Niklas Cassel wrote:
> On Fri, Nov 21, 2025 at 03:35:02PM +0800, Yihang Li wrote:
>> Hello Mario, Damien,
>>
>> After commit 5433f0e7427ae ("ata: Kconfig: Update SATA_MOBILE_LPM_POLICY
>> default to med_power_with_dipm") from linux v6.11, I am seeing the error,
>> and eventually, my file system became read-only and could no longer
>> be used. Please help check whether this is reasonable and how to resolve
>> this issue?
>>
>> I am using an standard AHCI controller, connected to a SATA disk, and
>> using this disk as the system drive.
>>
>> # lsblk
>> NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
>> sda 8:0 0 447.1G 0 disk
>> ├─sda1 8:1 0 600M 0 part /boot/efi
>> ├─sda2 8:2 0 1G 0 part /boot
>> └─sda3 8:3 0 445.5G 0 part
>> ├─openeuler-root 252:0 0 70G 0 lvm /
>> ├─openeuler-swap 252:1 0 4G 0 lvm [SWAP]
>> └─openeuler-home 252:2 0 371.5G 0 lvm /home
>>
>> Any suggestions on the problem are welcome.
>
> Hello Yihang Li,
>
> As far as we can tell, it appears that a lot of vendors have not
> implemented LPM properly, or have issues with LPM in their firmware.
>
> The way we solve it is to quirk these broken devices, see e.g.:
> https://github.com/torvalds/linux/blob/v6.18-rc6/drivers/ata/libata-core.c#L4209-L4213
>
>
> Please tell us which the model of your drive:
>
> $ lsblk -o MODEL /dev/sdX
>
> and the firmware version
> $ lsblk -o REV /dev/sdX
>
>
> So we can create a quirk.
>
>
> It would also be helpful if you could share which AHCI adapter you are using:
> $ lspci -nn | grep -i ahci
> $ lspci -nn | grep -i sata
>
>
> If you want to verify that disabling LPM works for your drive, you can add:
>
> libata.force=nolpm on the kernel command line.
>
>
> Kind regards,
> Niklas
It would be ideal to please reproduce on a mainline kernel if you
haven't already.
Also; just to confirm did you reach this result with a bisect? Or did
you encounter this issue with a mainline kernel?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [bug report] ata: ahci: IO error with the default med_power_with_dipm
2025-11-21 14:17 ` Niklas Cassel
2025-11-21 14:29 ` Mario Limonciello (AMD) (kernel.org)
@ 2025-11-24 9:06 ` Yihang Li
1 sibling, 0 replies; 5+ messages in thread
From: Yihang Li @ 2025-11-24 9:06 UTC (permalink / raw)
To: Niklas Cassel
Cc: mario.limonciello, dlemoal, linux-ide, linuxarm, liuyonglong,
Yihang Li
Hi Niklas,
On 2025/11/21 22:17, Niklas Cassel wrote:
> Please tell us which the model of your drive:
>
> $ lsblk -o MODEL /dev/sdX
>
> and the firmware version
> $ lsblk -o REV /dev/sdX
>
> So we can create a quirk.
Thank you for your reply. On my machine, the model information is as follows:
# lsblk -o MODEL /dev/sda
MODEL
MD619HXCLDE3TC
# lsblk -o REV /dev/sda
REV
ID
>
> It would also be helpful if you could share which AHCI adapter you are using:
> $ lspci -nn | grep -i ahci
> $ lspci -nn | grep -i sata
>
# lspci -nn | grep -i ahci
38:05.0 SATA controller [0106]: Huawei Technologies Co., Ltd. HiSilicon AHCI HBA [19e5:a235] (rev 30)
>
> If you want to verify that disabling LPM works for your drive, you can add:
>
> libata.force=nolpm on the kernel command line.
>
Thanks!
I will try this method to verify whether it can prevent this problem from occurring.
Thanks,
Yihang
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [bug report] ata: ahci: IO error with the default med_power_with_dipm
2025-11-21 14:29 ` Mario Limonciello (AMD) (kernel.org)
@ 2025-11-24 9:13 ` Yihang Li
0 siblings, 0 replies; 5+ messages in thread
From: Yihang Li @ 2025-11-24 9:13 UTC (permalink / raw)
To: Mario Limonciello (AMD) (kernel.org), Niklas Cassel
Cc: dlemoal, linux-ide, linuxarm, liuyonglong, Yihang Li
Hi Mario,
On 2025/11/21 22:29, Mario Limonciello (AMD) (kernel.org) wrote:
>
>
> It would be ideal to please reproduce on a mainline kernel if you haven't already.
>
> Also; just to confirm did you reach this result with a bisect? Or did you encounter this issue with a mainline kernel?
> .
>
I am using the latest mainline kernel version, linux 6.18.0-rc6 with commit 8b690556d8fe.
By using a bisect method, I found that the issue occurs after merging commit 5433f0e7427ae ("ata: Kconfig: Update
SATA_MOBILE_LPM_POLICY default to med_power_with_dipm").
Thanks,
Yihang
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-11-24 9:13 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-21 7:35 [bug report] ata: ahci: IO error with the default med_power_with_dipm Yihang Li
2025-11-21 14:17 ` Niklas Cassel
2025-11-21 14:29 ` Mario Limonciello (AMD) (kernel.org)
2025-11-24 9:13 ` Yihang Li
2025-11-24 9:06 ` Yihang Li
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox