MediaGX sound freezes 2.3.99-pre

From: Alan Curry (pacman-kernel@cqc.com)
Date: Wed Apr 12 2000 - 03:30:03 EST


2.3.recent seems to break SB16 audio as emulated by the Cyrix MediaGX
motherboard, which works with every 2.2 kernel I've tried. In 2.3.99-pre5,
the mixer works, but any attempt to write to /dev/dsp causes an instant
kernel freeze.

I've pinned down the place where it freezes, in drivers/sound/dmabuf.c
sound_start_dma(), whose middle portion looks like this:

        set_dma_mode(chan, dma_mode);
        printk("Hello world 1\n"); /* printk added by me */
        set_dma_addr(chan, physaddr);
        printk("Hello world 2\n"); /* printk added by me */
        set_dma_count(chan, count);

Hello world 1 shows up, but Hello world 2 doesn't.

Here's what the kernel says when the modules are loaded:

  isapnp: Scanning for Pnp cards...
  isapnp: Calling quirk for 01:03
  isapnp: CMI8330 quirk - fixing interrupts and dma
  isapnp: Card 'CMI8330. Audio Adapter'
  isapnp: Card 'D-Link DE-220P PnP ISA Card'
  isapnp: 2 Plug & Play cards detected total
  Soundblaster audio driver Copyright (C) by Hannu Savolainen 1993-1996
  sb: CMI8330. Audio Adapter detected
  sb: CMI8330 sb base located at 0x220
  sb: CMI8330 mpu base located at 0x330
  sb: CMI8330 mail reports to Alessandro Zummo <azummo@ita.flashnet.it>
  sb: ISAPnP reports 'CMI8330. Audio Adapter' at i/o 0x220, irq 5, dma 1, 5
  SB 4.13 detected OK (220)
  YM3812 and OPL-3 driver Copyright (C) by Hannu Savolainen, Rob Hooft 1993-1996
  OPL3 not detected ff

Here's my conf.modules

  alias sound sb
  pre-install sound insmod sound dmabuf=1
  alias midi opl3
  options opl3 io=0x388
  options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330
  post-install sb mixer speaker 0

/proc/dma, after modprobe sb but before attempting to use /dev/dsp, says

 1: SoundBlaster8
 4: cascade
 5: SoundBlaster16

And finally, grep '^[^#]' .config

CONFIG_X86=y
CONFIG_ISA=y
CONFIG_UID16=y
CONFIG_M586=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_L1_CACHE_BYTES=32
CONFIG_X86_USE_STRING_486=y
CONFIG_X86_ALIGNMENT_16=y
CONFIG_NOHIGHMEM=y
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_NAMES=y
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=m
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PNP=m
CONFIG_ISAPNP=m
CONFIG_BLK_DEV_FD=m
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=m
CONFIG_PACKET=m
CONFIG_NETFILTER=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_ALIAS=y
CONFIG_SYN_COOKIES=y
CONFIG_SKB_LARGE=y
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_MARK=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_BLK_DEV_CS5530=y
CONFIG_BLK_DEV_IDE_MODES=y
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_NET_ETHERNET=y
CONFIG_NET_VENDOR_3COM=y
CONFIG_EL3=m
CONFIG_NET_ISA=y
CONFIG_NE2000=m
CONFIG_NET_PCI=y
CONFIG_TULIP=m
CONFIG_PPP=m
CONFIG_PPP_ASYNC=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=m
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
CONFIG_PRINTER=m
CONFIG_MOUSE=y
CONFIG_PSMOUSE=y
CONFIG_82C710_MOUSE=y
CONFIG_RTC=y
CONFIG_QUOTA=y
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_CRAMFS=m
CONFIG_RAMFS=m
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_MINIX_FS=m
CONFIG_PROC_FS=y
CONFIG_DEVPTS_FS=y
CONFIG_ROMFS_FS=m
CONFIG_EXT2_FS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
CONFIG_SUNRPC=m
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_SMB_FS=m
CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y
CONFIG_VGA_CONSOLE=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS=m
CONFIG_SOUND_DMAP=y
CONFIG_SOUND_MPU401=m
CONFIG_SOUND_SB=m
CONFIG_SOUND_YM3812=m
CONFIG_MAGIC_SYSRQ=y

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



This archive was generated by hypermail 2b29 : Sat Apr 15 2000 - 21:00:18 EST