public inbox for linux-ide@vger.kernel.org
 help / color / mirror / Atom feed
* [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