Re: hpt366-0.37.patch.bz2 K.O.

From: Andre Hedrick
Date: Fri Mar 19 2004 - 16:01:44 EST



So the point is that I know there will not be a version greater than two
on this asic?

I post fixes for problems people pay to have fixed.
If there are other problems, you are free to fix it yourself.

I have been doing this for only the past 6 years, there is just a tiny bit
of insight I might have. Hey apply or not.

Regards,

Andre Hedrick
LAD Storage Consulting Group

On Fri, 19 Mar 2004, Sergey Vlasov wrote:

> On Fri, 19 Mar 2004 04:53:22 -0800 (PST) Andre Hedrick wrote:
>
> > http://www.kernel.org/pub/linux/kernel/people/hedrick/ide-2.4.25/hpt366-0.37.patch.bz2
> >
> > Fixes fifo dma data corruption on RocketRaid404
> > Fixes native HPT372 detection/setup for HPT372/HPT372A/HPT372N
> >
> > HPT372N's previous code seems kooky, but then again do not have specific
> > hardware rev in question.
>
> static void __init init_setup_hpt37x (struct pci_dev *dev, ide_pci_device_t *d)
> {
> + if (d->device == PCI_DEVICE_ID_TTI_HPT372) {
> + unsigned int class_rev;
> + static char *chipset_names[] = {"HPT372", "HPT372A", "HPT372N"};
> +
> + pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev);
> + class_rev &= 0xff;
> + d->name = chipset_names[class_rev];
> + }
> +
> ide_setup_pci_device(dev, d);
> }
>
> This will blow up if a chip with the same PCI ID and a revision larger
> than 2 ever appears.
>
> Also, hpt366_init_one() is __devinit, but it calls d->init_setup, and
> all init_setup_*() functions are __init - does not look good. Hmm,
> this is present in many drivers, also in 2.6.x... apparently this is
> safe because such devices cannot be hotplugged.
>

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