libata: Use ATA_FLAG_PIO_POLLING for pdc_adma
PATCH 1/1 libata: Use ATA_FLAG_PIO_POLLING for pdc_adma
pdc_adma was overlooked and broken by the irq-pio patch:
Only HSM_ST_LAST interrupts should be delivered to this LLDD.
Adding ATA_FLAG_PIO_POLLING to pdc_adma fixes the problem (temporarily), before we convert the irq handler of pdc_adma to handle all interrupts.
---
Patch against 2.6.18-rc4 and tested ok by Tejun.
drivers/scsi/pdc_adma.c +2 -1
@@ -183,7 +183,8 @@ static struct ata_port_info adma_port_in { .sht = &adma_ata_sht, .host_flags =ATA_FLAG_SLAVE_POSS |ATA_FLAG_SRST | - ATA_FLAG_NO_LEGACY | ATA_FLAG_MMIO, +ATA_FLAG_NO_LEGACY |ATA_FLAG_MMIO | + ATA_FLAG_PIO_POLLING, .pio_mask = 0x10, /* pio4 */ .udma_mask = 0x1f, /* udma0-4 */ .port_ops = &adma_ata_ops,
Quoted 7 lines · Albert Lee
pdc_admawas overlooked and broken by the irq-pio patch:
OnlyHSM_ST_LASTinterrupts should be delivered to this LLDD.Adding
ATA_FLAG_PIO_POLLINGtopdc_admafixes the problem (temporarily), before we convert the irq handler ofpdc_admato handle all interrupts.Signed-off-by Albert Lee <[email protected]>
Looks good. Note also that sata_qstor.c uses the same code structure, and already does the same thing.
Quoted 16 lines
---
Patch against 2.6.18-rc4 and tested ok by Tejun.drivers/scsi/pdc_adma.c +2
-1@@ -183,7 +183,8 @@ static struct ata_port_info adma_port_in { .sht = &adma_ata_sht, .host_flags =ATA_FLAG_SLAVE_POSS |ATA_FLAG_SRST | - ATA_FLAG_NO_LEGACY | ATA_FLAG_MMIO, +ATA_FLAG_NO_LEGACY |ATA_FLAG_MMIO | + ATA_FLAG_PIO_POLLING, .pio_mask = 0x10, /* pio4 */ .udma_mask = 0x1f, /* udma0-4 */ .port_ops = &adma_ata_ops,
Jeff Garzik
Appliedapplied to #upstream-fixes