LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* libata regression 2.6.6-rc1 -> 2.6.6-rc2 located
@ 2004-05-29 16:49 Brad Campbell
2004-05-29 16:59 ` Jeff Garzik
0 siblings, 1 reply; 2+ messages in thread
From: Brad Campbell @ 2004-05-29 16:49 UTC (permalink / raw)
To: linux-kernel, Jeff Garzik
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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: libata regression 2.6.6-rc1 -> 2.6.6-rc2 located
2004-05-29 16:49 libata regression 2.6.6-rc1 -> 2.6.6-rc2 located Brad Campbell
@ 2004-05-29 16:59 ` Jeff Garzik
0 siblings, 0 replies; 2+ messages in thread
From: Jeff Garzik @ 2004-05-29 16:59 UTC (permalink / raw)
To: Brad Campbell; +Cc: linux-kernel
Brad Campbell wrote:
> 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);
> }
Great work, thanks.
Short term, I'll revert this patch. The change was more of a
"preparation for the future", and not strictly required.
I think I understand why, but I'll need to ponder a bit more on the long
term solution.
Jeff
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-05-29 16:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-05-29 16:49 libata regression 2.6.6-rc1 -> 2.6.6-rc2 located Brad Campbell
2004-05-29 16:59 ` Jeff Garzik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).