Subject: Re: quirk in or uncovered by new pciide
To: Hal Murray <murray@pa.dec.com>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: current-users
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 
> disks.

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