BUG in pdc202xx_old.c

From: Jürgen Stohr (juergen.stohr@gmx.de)
Date: Sun Jul 20 2003 - 15:06:21 EST


Hi Andre,
in pdc202xx_old.c is a bug that prevents the use of "66 Clocking". The driver
always falls back to UDMA 33. The reason for this bug is found in function
"config_chipset_for_dma" when checking if the "other" drive is capable of
UDMA 66. The follwing patch, which should apply against 2.4.22-pre7, solves
the problem for me:

--- pdc202xx_old.c.broken 2003-07-20 20:12:39.000000000 +0200
+++ pdc202xx_old.c 2003-07-20 20:18:50.000000000 +0200
@@ -425,7 +425,7 @@
                         * check to make sure drive on same channel
                         * is u66 capable
                         */
- if (hwif->drives[!(drive->dn%2)].id) {
+ if (hwif->drives[!(drive->dn%2)].present) {
                                if (hwif->drives[!(drive->dn%2)].id->dma_ultra
& 0x0078) {
                                        hwif->OUTB(CLKSPD | mask,
(hwif->dma_master + 0x11));
                                } else {

regards,
Jürgen

-
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/



This archive was generated by hypermail 2b29 : Wed Jul 23 2003 - 22:00:40 EST