Re: [OOPS] 2.4.22 / HPT372N

From: Ronny Buchmann
Date: Fri Sep 12 2003 - 10:29:53 EST


Am Freitag 12 September 2003 16:42 schrieben Sie:
> On Friday 12 of September 2003 16:24, Ronny Buchmann wrote:
> > Am Freitag 12 September 2003 14:58 schrieb Bartlomiej Zolnierkiewicz:
> > > On Friday 12 of September 2003 12:48, Alan Cox wrote:
> > > > On Gwe, 2003-09-12 at 10:41, Ronny Buchmann wrote:
> > > > > - d->channels = 1;
> > > > > + d->channels = 2;
> > > >
> > > > Need to work out which 372N and others are dual channel but yes
> > >
> > > No, "d->channels = 1" is only executed for orginal HPT366 which has
> > > separate PCI configurations for first and second channel. For HPT372N
> > > you have correct value in hpt366.h - ".channels = 2".
Some of the HPT372N (including mine) have the same device id as the HPT366 (0004),
they differ only in revision (rev 6 is 372N).

(this logic is already used in other functions)

--- linux-2.4.22-ac1/drivers/ide/pci/hpt366.c.orig 2003-09-11 21:29:06.000000000 +0200
+++ linux-2.4.22-ac1/drivers/ide/pci/hpt366.c 2003-09-12 17:13:31.000000000 +0200
@@ -1343,7 +1343,7 @@
u8 pin1 = 0, pin2 = 0;
unsigned int class_rev;
static char *chipset_names[] = {"HPT366", "HPT366", "HPT368",
- "HPT370", "HPT370A", "HPT372"};
+ "HPT370", "HPT370A", "HPT372", "HPT372N"};

if (PCI_FUNC(dev->devfn) & 1)
return;
@@ -1351,16 +1351,11 @@
pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev);
class_rev &= 0xff;

- /* New ident 372N reports revision 1. We could do the
- io port based type identification instead perhaps (DID, RID) */
-
- if(d->device == PCI_DEVICE_ID_TTI_HPT372N)
- class_rev = 5;
-
- if(class_rev < 6)
+ if(class_rev <= 6)
d->name = chipset_names[class_rev];

switch(class_rev) {
+ case 6:
case 5:
case 4:
case 3: ide_setup_pci_device(dev, d);

Since the 372N with the new id (0009) is set up with init_setup_37x(), "class_rev = 5" is never executed.

So the second part of the previous patch is wrong.

--
ronny


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