tech-kern archive

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

Re: WD_QUIRK_FORCE_LBA48



On Wed, Dec 16, 2009 at 09:39:45PM +0100, Christoph Badura wrote:
> On Wed, Dec 16, 2009 at 03:16:00PM +0100, Manuel Bouyer wrote:
> > OK, I didn't remember this change. The CVS log suggest this could have been
> > an issue with a controller that doesn't work with LBA48, precisely.
> 
> Good.  I'm relieved I finally managed to convince you that the biggest
> problem is our code. :-)

I'm convinced since I've been pointed out that the LBA28 boundary 
is no longer at 0xfffffff (that is, much earlier in this thread)
but I think you didn't notice it :)

> 
> > Come on, it's not convoluted. It's just using the value provided by the
> > drive in words 60:61 of IDENTIFY instead of a constant. I believe it
> > would even be more correct from the specs POV than using a constant.
> 
> Sorry, I meant the code with the quirktable and the not entirely working
> code related to retrying in the "LBA48 bug" case in wddone().
> 
> I don't feel that it is worth spending more time on whether to check for
> a fixed constant or what the drive reports in 60:61.  Personally, I'd prefer
> the fixed constant until proven otherwise and I would like to convince you of
> that.  But I don't think it will make a significant difference speed- and
> codesize-wise in practice.

I think using 60:61 is more conform to standards. It has the advantage
to handle the different max values specified by different revisions
of ATA6. It's also safe to futur changes to the standards in this
area :)

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index