Subject: Re: quirk in or uncovered by new pciide
To: Hal Murray <email@example.com>
From: Manuel Bouyer <firstname.lastname@example.org>
Date: 08/12/1999 20:40:25
On Thu, Aug 12, 1999 at 12:56:07AM -0700, Hal Murray wrote:
> If I read both disks at the same time on a Promise Ultra66 chip.
> I got the following:
> pciide0:0:0: Bus-Master DMA error: missing interrupt, status=0x20
> wd0d: DMA error reading fsbn 83640 of 83640-83643 (wd0 bn 83640; cn 82 tn 15 sn 39), retrying
> wd0: soft error (corrected)
> This is stock 1.4 on an Intel box with the pciide patches to support
> the Promise chips. I get about 1 a minute on the Ultra66 system.
> They happen on both wd0 and wd1. (Both are masters - no slaves.)
> I haven't seen any on a second system with the Ultra33 chip and slower
Any chance to try to swap the Ultra33 and Ultra66 ?
This could give usefull informations ...
> Is reading /dev/wd0d a reasonable thing to do?
Yes, at last it should
> Is there a missing size-check in the /dev/wd* file handler?
> Is "downgrading" when reading too far a reasonable thing for the
> pciide driver to do? Is it supposed to do the size-check?
> Is there any simple way for my program to find the length of a
> file so it can avoid this glitch? (I'd prefer it to work on both
> /dev/wd* and normal files but I'll special case /dev/wd* if appropriate.)
This is an old, know problem. The problem is that it's hard to differenciate
end of media from a real error with IDE disks.
The best thing to do would maybe be to check the transfer against the
max number of sectors, at last. I should really add this ...
Manuel Bouyer, LIP6, Universite Paris VI. Manuel.Bouyer@lip6.fr