On Wed, Feb 19, 2025 at 04:48:56PM +0100, Niklas Cassel wrote: > > Perhaps your could try with something like: > > diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c > index 3b303d4ae37a..bc2a317c97da 100644 > --- a/drivers/ata/libata-eh.c > +++ b/drivers/ata/libata-eh.c > @@ -1543,7 +1543,7 @@ unsigned int atapi_eh_request_sense(struct ata_device *dev, > tf.command = ATA_CMD_PACKET; > > /* is it pointless to prefer PIO for "safety reasons"? */ > - if (ap->flags & ATA_FLAG_PIO_DMA) { > + if (0) { > tf.protocol = ATAPI_PROT_DMA; > tf.feature |= ATAPI_PKT_DMA; > } else { > > To see if NOT using DMA for PIO cmds makes any difference. Or the big hammer: diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h index 8e895ae45c86..920462101775 100644 --- a/drivers/ata/ahci.h +++ b/drivers/ata/ahci.h @@ -249,7 +249,7 @@ enum { /* ap->flags bits */ - AHCI_FLAG_COMMON = ATA_FLAG_SATA | ATA_FLAG_PIO_DMA | + AHCI_FLAG_COMMON = ATA_FLAG_SATA | ATA_FLAG_ACPI_SATA | ATA_FLAG_AN, ICH_MAP = 0x90, /* ICH MAP register */ Just make sure to not use this on any system other than the machine that you are debugging on. Kind regards, Niklas