[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#419482: Kernel 2.6.18 - ALI15X3 driver too optmistic about UDMA



>         if (m5229_revision <= 0x20) {
>                 return 0;
>         } else if ((m5229_revision < 0xC2) &&

So 0xC1 takes this path

> Looking back at the equivalent code in 2.4.27 (the previous kernel
> this machine ran), that's rather different:
> 
>         if (m5229_revision < 0xC1) {    /* According to ALi */
>                 return 0;
>         } else if ((m5229_revision < 0xC2) &&

And 0xC1 takes the same path.

> So it would seem there has been a regression here - the assumption now
> is that versions between 0x20 and 0xC1 can use UDMA fine unless there
> is a WDC drive attached, but the old code wouldn't try UDMA at all on
> chips older than rev C1.

There are no versions between 0x21 and 0xC0.

> I have the machine out and ready to experiment with if any more
> details are needed to help solve this problem.

Interesting report as we've had essentially no corruption reports
equivalent to this on common architectures for a long time and the
hardware is in a huge number of PC systems. Also UDMA transfers are CRC
protected by hardware at each end.

That makes me wonder if you have a platform or endian bug, or indeed your
firmware isn't setting up all the chipset as required by the ALi chipset
and BIOS documentation (which unfortunately is NDA)

Alan



Reply to: