PROBLEM: hang up using sound with VIA chipset

Takehiro Tominaga (tominaga@isoternet.org)
Mon, 06 Sep 1999 15:40:05 +0900


Below form is based on "REPORTING-BUG" file.

[1.] the box with VIA Apollo Pro hangs up when using sound.
[2.] My linux box, Celeron 300A + VIA Apollo Pro + SoundBlaster16
sometimes hangs up, when I use the sound card. not always, but
it sometimes really hangs up only when using sound.
[3.] Keywords are ISA DMA, Soundcard, VIA Chipset, Apollo Pro, 82C596
[4.] kernel version is 2.2.11 and 2.2.12.
[5.] no oops messsage is avalable.
[6.] many sound programs, like sox/mpg123/snes9x... cause the problem.
[7.] environment is VIA chipset + ISA Soundcard

[additional info. with the patch.]

Hello, I'm enjoying linux but had some problem. And I fixed.
The Digest of the problem is this:
Apollo pro is not fixed the hardware bug described in
2.2.x-kernel-src/Documentation/sound/VIA-CHIPSET.

I checked kernel 2.2.12 source & document, and I found the document file,
and some comment in /usr/src/linux/drivers/pci/quirks.c.

I'm afraid the problem would cause my Linux box hang up,
and I made below patch. After patching the kernel,
my Linux box completely stable.

*** include/linux/pci.h~ Wed Aug 11 21:01:43 1999
--- include/linux/pci.h Thu Aug 26 20:33:22 1999
***************
*** 755,760 ****
--- 755,761 ----
#define PCI_DEVICE_ID_VIA_82C585 0x0585
#define PCI_DEVICE_ID_VIA_82C586_0 0x0586
#define PCI_DEVICE_ID_VIA_82C595 0x0595
+ #define PCI_DEVICE_ID_VIA_82C596_0 0x0596
#define PCI_DEVICE_ID_VIA_82C597_0 0x0597
#define PCI_DEVICE_ID_VIA_82C598_0 0x0598
#define PCI_DEVICE_ID_VIA_82C926 0x0926
*** drivers/pci/oldproc.c~ Wed Aug 11 20:58:03 1999
--- drivers/pci/oldproc.c Thu Aug 26 20:34:15 1999
***************
*** 340,345 ****
--- 340,346 ----
DEVICE( VIA, VIA_82C585, "VT 82C585 Apollo VP1/VPX"),
DEVICE( VIA, VIA_82C586_0, "VT 82C586 Apollo ISA"),
DEVICE( VIA, VIA_82C595, "VT 82C595 Apollo VP2"),
+ DEVICE( VIA, VIA_82C596_0, "VT 82C596 Apollo Pro"),
DEVICE( VIA, VIA_82C597_0, "VT 82C597 Apollo VP3"),
DEVICE( VIA, VIA_82C598_0, "VT 82C598 Apollo MVP3"),
DEVICE( VIA, VIA_82C926, "VT 82C926 Amazon"),
*** drivers/pci/quirks.c~ Thu Aug 26 20:32:30 1999
--- drivers/pci/quirks.c Thu Aug 26 20:32:55 1999
***************
*** 202,207 ****
--- 202,208 ----
* quantity
*/
{ PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0, quirk_isa_dma_hangs, 0x00 },
+ { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C596_0, quirk_isa_dma_hangs, 0x00 },
};

__initfunc(void pci_quirks_init(void))

--------
Please check this if possible and merge source tree.
Thanks in advanced.

---
Takehiro TOMINAGA // may the source be with you!
tominaga@isoternet.org 

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/