Here's the fix. Bart, you moved the tcq init to a much earlier fase
(saying ide_init_drive() was too early, well ide_dma_on is much earlier
in the init fase). ide_init_drive() _is_ the correct location in my
oppinion, drive and queue has been set up at this point.
--- drivers/ide/ide-dma.c~ 2003-07-11 10:21:04.492561920 +0200
+++ drivers/ide/ide-dma.c 2003-07-11 10:25:28.183474808 +0200
@@ -572,10 +572,6 @@
if (HWIF(drive)->ide_dma_host_on(drive))
return 1;
-#ifdef CONFIG_BLK_DEV_IDE_TCQ_DEFAULT
- HWIF(drive)->ide_dma_queued_on(drive);
-#endif
-
return 0;
}
--- drivers/ide/ide-probe.c~ 2003-07-11 10:06:54.036850840 +0200
+++ drivers/ide/ide-probe.c 2003-07-11 10:25:30.884064256 +0200
@@ -945,6 +945,10 @@
static void ide_init_drive(ide_drive_t *drive)
{
ide_toggle_bounce(drive, 1);
+
+#ifdef CONFIG_BLK_DEV_IDE_TCQ_DEFAULT
+ HWIF(drive)->ide_dma_queued_on(drive);
+#endif
}
/*
-- Jens Axboe- 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/