Re: Patch RFC: Promise SATA300 TX4 hardware bug workaround.

From: Ulf Lilleengen <lulf_at_stud.ntnu.no>
Date: Fri, 16 Nov 2007 15:43:05 +0100
On fre, nov 02, 2007 at 01:34:51 +0300, Alexander Sabourenkov wrote:
> Hello.
> 
> I have ported the workaround for the hardware bug that causes data
> corruption on Promise SATA300 TX4 cards to RELENG_7.
> 
> Bug description:
> SATA300 TX4 hardware chokes if last PRD entry (in a dma transfer) is
> larger than 164 bytes. This was found while analysing vendor-supplied
> linux driver.
> 
> Workaround:
> Split trailing PRD entry if it's larger that 164 bytes.
> 
> Two supplied patches do fix problem on my machine.
> 
> There is, however, a style problem with them. It seems like PRD entry
> count is limited at 256. I have not found a good way to guarantee that
> one entry is always available to do the split, thus the ugly solution of
> patching ata-dma.c.
> 
> 
> Patches, patched and original files are at http://lxnt.info/tx4/freebsd/.
> 
Hi,

I tried the patch, but I end up with the partition table being incorrectly
read (probably) on the drives connected to my TX4 card. Normally, there's
one partition on the drive, but when I apply the patch, the drive provider
(ad6) is all that shows up in /dev. 

When I revert the patch, the partition (ad6s1) shows up in /dev again.

I applied both the ata-chipset patch and ata-dma patch to a RELENG_7 system.

-- 
Ulf Lilleengen
Received on Fri Nov 16 2007 - 13:43:04 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:22 UTC