i386/58458: ATAPI-CDROM DMA Support on ALi Aladdin V Chipset is brocken

Bruce Evans bde at zeta.org.au
Thu Oct 23 22:40:12 PDT 2003


The following reply was made to PR i386/58458; it has been noted by GNATS.

From: Bruce Evans <bde at zeta.org.au>
To: Rolf Witt <rowi at peanuts.homeunix.org>
Cc: FreeBSD-gnats-submit at FreeBSD.org, freebsd-i386 at FreeBSD.org
Subject: Re: i386/58458: ATAPI-CDROM DMA Support on ALi Aladdin V Chipset is
 brocken
Date: Fri, 24 Oct 2003 15:28:15 +1000 (EST)

 On Thu, 23 Oct 2003, Rolf Witt wrote:
 
 > >Description:
 > If DMA on IDE-Channel 1 Device 0 aktiv, the DVD-ROM Drive no more works.
 > Only PIO works. I have testet this with 2 Drive (both have UDMA33 ability).
 > On Pre 4.8 Releases it still functioned.
 
 I forwarded the following usenet article to the author of the bug, but
 received no reply.
 
 % Date: Mon, 13 Oct 2003 08:07:01 +0000 (UTC)
 % From: viro at parcelfarce.linux.theplanet.co.uk
 % Newsgroups: comp.unix.bsd.freebsd.misc
 % Subject: Re: Linux vs. FreeBSD (supportability)
 %
 % In article <3f8a362c$1_2 at corp.newsgroups.com>,
 % Donn Miller  <dmmiller at cvzoom.net> wrote:
 %
 % >I've had problems with filesystem corruption with both ext2 and ext3,
 % >but never ext3.
 %
 % <shrug>  Count the bug reports and see.  Most of the cases of fs corruption
 % turn out to be either random memory corruption or breakage in underlying
 % block device driver.  Neither of those cares about fs type, obviously.
 %
 % If you have real cases of ext2 corruption (not of these two classes and not
 % "I had a dirty shutdown and fsck complained about something, I don't remember
 % what") - post a bug report.
 %
 % >  I think ext2 is the most crude and cruddy hack of a
 % >filesystem ever created.  ReiserFS is clearly the best filesystem for
 % >Linux right now.
 %
 % <raised brows>
 %
 % >Sounds like he must've been compiling his world and kernel with -O3
 % >-fomit-frame-pointer -fthread-jumps -funroll-all-loops
 % >-fstrength-reduce again.  Believe it or not, the default Gentoo
 % >optimization flags were along the same lines at one time.  The Linux
 % >kernel seemed more forgiving in the past of such idiotic optimization
 % >levels, but I think he might be getting "more lucky" with Linux in such
 % >a situation.  Even knowledgeable Linux people will advise against
 % >building the kernel with such insane optimizations.
 %
 % FWIW, that sort of bugs tend to boil down to missing memory barrier or
 % missing lock.  Not that gcc was too tolerant to anything past -O2, but
 % more often than not the real problem is in the code.  BTDT...
 %
 % Idiocy happens.  Case in point: while digging through ata-dma.c in 4.9-RC
 % a couple of hours ago, I've found the following gem:
 %
 %             switch(ATA_PIO0 + apiomode) {
 %             case ATA_PIO0: timing = 0x006d0003;
 %             case ATA_PIO1: timing = 0x00580002;
 %             case ATA_PIO2: timing = 0x00440001;
 %             case ATA_PIO3: timing = 0x00330001;
 %             case ATA_PIO4: timing = 0x00310001;
 %             default:       timing = 0x006d0003;
 %             }
 %
 % (M5229 support, in case you wonder and no, -CURRENT doesn't have that bug).
 % Had been there for quite a while and that's exactly the sort of bug that
 % is harder to find.  I'd seen equivalents blamed on compiler, OS, hardware,
 % admin, yadda, yadda.  Usually ends up with massive blushing when you
 % finally realize that yes, it was _that_ dumb...
 %
 %
 
 Bruce


More information about the freebsd-i386 mailing list