Re: pdc202xx_old serious bug with DMA on 2.6.x series

From: Adolfo González Blázquez
Date: Sat Jun 19 2004 - 18:02:33 EST


Hi,

Sorry for the delay... I tried 2.5.50 and 2.5.75, and, at least for my
machine, everything seems to be perfect. Then i tried every 2.6 kernel.
All of them have the same buggy behaviour.

These are the differences between 2.5.75 and 2.6.0 pdc202xx_old.c (sorry
if this is not the correct format, im new here :)

Hope this will help.

Adolfo González

###################################################################

--- linux-2.5.75/drivers/ide/pci/pdc202xx_old.c 2003-07-10
22:15:03.000000000 +0200
+++ linux-2.6.0/drivers/ide/pci/pdc202xx_old.c 2003-12-18
03:59:53.000000000 +0100
@@ -46,7 +46,6 @@
#include <asm/io.h>
#include <asm/irq.h>

-#include "ide_modes.h"
#include "pdc202xx_old.h"

#define PDC202_DEBUG_CABLE 0
@@ -519,13 +518,15 @@
} else {
goto fast_ata_pio;
}
+ return hwif->ide_dma_on(drive);
} else if ((id->capability & 8) || (id->field_valid & 2)) {
fast_ata_pio:
no_dma_set:
hwif->tuneproc(drive, 5);
return hwif->ide_dma_off_quietly(drive);
}
- return hwif->ide_dma_on(drive);
+ /* IORDY not supported */
+ return 0;
}

static int pdc202xx_quirkproc (ide_drive_t *drive)
@@ -749,9 +750,6 @@
hwif->tuneproc = &config_chipset_for_pio;
hwif->quirkproc = &pdc202xx_quirkproc;

- if (hwif->pci_dev->device == PCI_DEVICE_ID_PROMISE_20265)
- hwif->addressing = (hwif->channel) ? 0 : 1;
-
if (hwif->pci_dev->device != PCI_DEVICE_ID_PROMISE_20246) {
hwif->busproc = &pdc202xx_tristate;
hwif->resetproc = &pdc202xx_reset;
@@ -928,7 +926,7 @@
return 0;
}

-static struct pci_device_id pdc202xx_pci_tbl[] __devinitdata = {
+static struct pci_device_id pdc202xx_pci_tbl[] = {
{ PCI_VENDOR_ID_PROMISE, PCI_DEVICE_ID_PROMISE_20246, PCI_ANY_ID,
PCI_ANY_ID, 0, 0, 0},
{ PCI_VENDOR_ID_PROMISE, PCI_DEVICE_ID_PROMISE_20262, PCI_ANY_ID,
PCI_ANY_ID, 0, 0, 1},
{ PCI_VENDOR_ID_PROMISE, PCI_DEVICE_ID_PROMISE_20263, PCI_ANY_ID,
PCI_ANY_ID, 0, 0, 2},

###################################################################



El sáb, 19-06-2004 a las 18:46, Bartlomiej Zolnierkiewicz escribió:
> Hi,
>
> Any news about this issue?
>
> On Tuesday 15 of June 2004 13:33, you wrote:
> > El mar, 15-06-2004 a las 13:15, Marcelo Tosatti escribió:
> > > On Tue, Jun 15, 2004 at 01:20:03AM +0200, Adolfo González Blázquez wrote:
> > > > El mar, 15-06-2004 a las 01:18, Bartlomiej Zolnierkiewicz escribió:
> > > > > On Tuesday 15 of June 2004 00:50, Adolfo González Blázquez wrote:
> > > > > > Hi!
> > > > >
> > > > > Hi,
> > > > >
> > > > > > Lot of users are reporting seriour problems with pdc202xx_old ide
> > > > > > pci driver. Enabling DMA on any device related with this driver
> > > > > > makes the system unusable.
> > > > > >
> > > > > > This seems to happen in all the 2.6.x kernel series.
> > > > >
> > > > > Doing binary search on 2.4->2.6 kernels would help greatly
> > > > > (narrowing problem to a specific kernel versions).
> > > >
> > > > If it helps, I tried 2.6.2, 2.6.4, 2.6.5, and 2.6.7-rc3, and all have
> > > > the bug.
> > >
> > > And which kernels does not exhibit the problem?
> >
> > The 2.4 series it's ok, I'm gonna try with different 2.5.x kernels to
> > see if i can discover when the bug was introduced
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/