Comment 3 for bug 128289

Revision history for this message
Paul Dufresne (paulduf) wrote :

Putting the information received in an email from original poster:

First of all here is some explanation:
http://www.tecchannel.de/ueberblick/archiv/401770/index10.html
This problem is very old, so most links I gathered are no longer valid.
See also the attachment.

The kernel version that i use currently is from Kano and is vanilla
except that it includes my patch. This is the output from uname:
Linux 2.6.22-9-generic #1 SMP Sun Jul 29 23:15:02 CEST 2007 i686 GNU/Linux

My CPU is a Pentium III (Coppermine) with 256 KB cache, and runs at
1000Mhz

When the quirk is activated, the following kernel message is emitted
in dmesg (see also the kernel source for drivers/pci/quirks.c):

[ 83.161307] Applying VIA southbridge workaround.

I started noticing this problem with my Pentium III some years ago when
I still used Windows 98. It appeared that my new DVD writer burned nothing
but coasters. (Not CD-R's, only DVD-R's were coasters constantly)
First I blamed the store and the DVD burner manufacturer (Benq), but after
getting a replacement that exhibited the exact same behavior, my attention
turned to my motherboard. I found a patch for windows 98 that does the exact
same thing as the Linux quirk workaround does, and my DVD burns were succes-
ful from then on.

In XP access to the PCI subsystem is more restricted,
so the programmatical fix I had for windows 98 didn't work there, I would
have required a VxD driver. This PC was getting old and i decided to use
it as a Linux server. Ofcourse, in Linux you can happily patch the kernel,
and the Linux kernel even contained the fix already. More about that later.

The problem is that the VIA Southbridge 686B has problems with the master
priority rotation, which means as much as that the CPU isn't given back
control over the PCI bus for a too long period of time. The CPU eventually
forcibly takes back the control, corrupting the data currently on the PCI
bus. This was causing the coasters and the general flaky behavior.
It seems the problems are amplified if you also have a Sound Blaster Live
PCI sound card in your system (which I do). It allegedly doesn't follow
the PCI specification quite to the T, worsening the problem.

Now, the quirk workaround was already present in the Linux kernel, inside
drivers/pci/quirks.c, but my southbridge's PCI-ID wasn't listed, so it
wasn't activated. As soon as I added mine and recompiled, the fix was
activated and I could also burn DVD's in Linux. I have used this patch
for years now, and it would definitely be very nice if it made it into
the mainline kernel tree.

Regards,

[name deleted in case he won't be identified]