Messages in this thread Patch in this message | | | Date | Sat, 29 May 2004 20:49:09 +0400 | From | Brad Campbell <> | Subject | libata regression 2.6.6-rc1 -> 2.6.6-rc2 located |
| |
I managed to narrow it down to a diff between 2.6.6-rc1 and 2.6.6-rc2
2.6.6-rc1 works fine and 2.6.6-rc2 exhibits the lockup on the third card.
Reverting this hunk makes everything happy again. I also tested this against 2.6.7-rc1-bk4 and it solves the problem. I don't pretend to understand why, just did the donkey testing to locate it.
diff -urN linux-2.6.5-a/drivers/scsi/sata_promise.c linux-2.6.5-b/drivers/scsi/sata_promise.c --- linux-2.6.5-a/drivers/scsi/sata_promise.c 2004-05-29 19:53:40.000000000 +0400 +++ linux-2.6.5-b/drivers/scsi/sata_promise.c 2004-05-29 19:41:47.000000000 +0400 @@ -1180,14 +1180,14 @@
static void pdc_tf_load_mmio(struct ata_port *ap, struct ata_taskfile *tf) { - if (tf->protocol != ATA_PROT_DMA) + if (tf->protocol == ATA_PROT_PIO) ata_tf_load_mmio(ap, tf); }
static void pdc_exec_command_mmio(struct ata_port *ap, struct ata_taskfile *tf) { - if (tf->protocol != ATA_PROT_DMA) + if (tf->protocol == ATA_PROT_PIO) ata_exec_command_mmio(ap, tf); }
Hope this helps shed some light.. Still don't understand why it works perfectly with only 2 cards however.
Regards, Brad - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |