hello, after updating from FreeBSD 6.0 to FreeBSD 6.1 the use of my soundcard causes a system-freeze (Everything was okey with 6.0). At first it seems to work fine an i can hear any kind of sound, but every time the sound finishes (after playing a song with xmms, after visiting websites containing sound, after receiving a message via my Jabber-Client, which triggers a sound-event...etc.) the system completely freezes without any kind of error message. Any comments? Thanks in advance! ------------ Here are some informations about my system. 1) uname -a FreeBSD corona 6.1-RELEASE-p1 FreeBSD 6.1-RELEASE-p1 #6: Tue Jun 6 20:00:43 CEST 2006 bgr@corona:/usr/obj/usr/src/sys/CORONA_12_25 i386 2) pciconf -lv | grep -B 4 audio pcm0@pci0:7:0: class=0x040100 card=0x8898125d chip=0x1969125d rev=0x02 hdr=0x00 vendor = 'ESS Technology' device = 'ES72222 Solo-1 PCI AudioDrive family' class = multimedia subclass = audio 3) dmesg | grep ^pcm pcm0: <ESS Solo-1 (unknown vendor)> port 0x9400-0x943f,0x9800-0x980f,0x9c00-0x9c0f,0xa000-0xa003,0xa400-0xa403 irq 18 at device 7.0 on pci0 4) sysctl hw.snd.verbose=2 ; cat /dev/sndstat hw.snd.verbose: 3 -> 2 FreeBSD Audio Driver (newpcm) Installed devices: pcm0: <ESS Solo-1 (unknown vendor)> at io 0x9400,0x9800,0x9c00 irq 18 kld snd_solo (1p/1r/0v channels duplex default) [pcm0:record:0:dsp0.0]: spd 0, fmt 0x00000000/0x00000008, flags 0x00000000, 0x00000000 interrupts 0, overruns 0, hfree 16384, sfree 0 [b:16384/8192/2|bs:0/0/0] {hardware} -> feeder_root(0x00000000) -> {userland} [pcm0:play:0:dsp0.1]: spd 0, fmt 0x00000000/0x00000008, flags 0x00000000, 0x00000000 interrupts 0, underruns 0, ready 0 [b:16384/8192/2|bs:0/0/0] {userland} -> feeder_root(0x00000000) -> {hardware} 5) sysctl hw.snd hw.snd.report_soft_formats: 1 hw.snd.targetirqrate: 32 hw.snd.verbose: 2 hw.snd.maxautovchans: 0 hw.snd.unit: 0 hw.snd.pcm0.buffersize: 16384 hw.snd.pcm0.vchans: 0 6) output of /usr/sbin/mixer Mixer vol is currently set to 100:100 Mixer synth is currently set to 100:100 Mixer pcm is currently set to 100:100 Mixer line is currently set to 100:100 Mixer mic is currently set to 0:0 Mixer cd is currently set to 75:75 Mixer line1 is currently set to 75:75 Recording source: mic 7) and finally my kernel config #My Kernel config #changes: # + agp support # + USER_LDT # + sound # + FreeBSD 5.x binaries compatibility machine i386 cpu I686_CPU ident CORONA_12_04 # To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" # Default places to look for devices. options SCHED_4BSD # 4BSD scheduler options INET # InterNETworking options INET6 # IPv6 communications protocols options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists options UFS_DIRHASH # Improve performance on big directories options MD_ROOT # MD is a potential root device options NFSCLIENT # Network Filesystem Client options NFSSERVER # Network Filesystem Server options NFS_ROOT # NFS usable as /, requires NFSCLIENT options MSDOSFS # MSDOS Filesystem options CD9660 # ISO 9660 Filesystem options PROCFS # Process filesystem (requires PSEUDOFS) options PSEUDOFS # Pseudo-filesystem framework options GEOM_GPT # GUID Partition Tables. options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!] options COMPAT_FREEBSD4 # Compatible with FreeBSD4 options COMPAT_FREEBSD5 # Compatible with FreeBSD5 options SCSI_DELAY=15000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. options AHD_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~215k to driver. options ADAPTIVE_GIANT # Giant mutex is adaptive. device apic # I/O APIC # Bus support. Do not remove isa, even if you have no isa slots device isa device eisa device pci # Floppy drives device fdc # ATA and ATAPI devices device ata device atadisk # ATA disk drives device ataraid # ATA RAID drives device atapicd # ATAPI CDROM drives device atapifd # ATAPI floppy drives device atapist # ATAPI tape drives options ATA_STATIC_ID # Static device numbering # SCSI Controllers device ahb # EISA AHA1742 family device ahc # AHA2940 and onboard AIC7xxx devices device ahd # AHA39320/29320 and onboard AIC79xx devices device amd # AMD 53C974 (Tekram DC-390(T)) device isp # Qlogic family device mpt # LSI-Logic MPT-Fusion #device ncr # NCR/Symbios Logic device sym # NCR/Symbios Logic (newer chipsets + those of `ncr') device trm # Tekram DC395U/UW/F DC315U adapters device adv # Advansys SCSI adapters device adw # Advansys wide SCSI adapters device aha # Adaptec 154x SCSI adapters device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60. device bt # Buslogic/Mylex MultiMaster SCSI adapters device ncv # NCR 53C500 device nsp # Workbit Ninja SCSI-3 device stg # TMC 18C30/18C50 # SCSI peripherals device scbus # SCSI bus (required for SCSI) device ch # SCSI media changers device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct SCSI access) device ses # SCSI Environmental Services (and SAF-TE) # RAID controllers interfaced to the SCSI subsystem device amr # AMI MegaRAID device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID device ciss # Compaq Smart RAID 5* device dpt # DPT Smartcache III, IV - See NOTES for options device hptmv # Highpoint RocketRAID 182x device iir # Intel Integrated RAID device ips # IBM (Adaptec) ServeRAID device mly # Mylex AcceleRAID/eXtremeRAID device twa # 3ware 9000 series PATA/SATA RAID # RAID controllers device aac # Adaptec FSA RAID device aacp # SCSI passthrough for aac (requires CAM) device ida # Compaq Smart RAID device mlx # Mylex DAC960 family device pst # Promise Supertrak SX6000 device twe # 3ware ATA RAID # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc # AT keyboard controller device atkbd # AT keyboard device psm # PS/2 mouse device vga # VGA video card driver device splash # Splash screen and screen saver support # syscons is the default console driver, resembling an SCO console device sc # Enable this for the pcvt (VT220 compatible) console driver #device vt #options XSERVER # support for X server on a vt console #options FAT_CURSOR # start with block cursor #agp support s.o device agp # support several AGP chipsets #sound support s.o device sound #suport for sound # Floating point support - do not disable. device npx # Power management support (see NOTES for more options) #device apm # Add suspend/resume support for the i8254. device pmtimer # PCCARD (PCMCIA) support # PCMCIA and cardbus bridge support # NICHT NÖTIG #device cbb # cardbus (yenta) bridge #device pccard # PC Card (16-bit) bus #device cardbus # CardBus (32-bit) bus # Serial (COM) ports device sio # 8250, 16[45]50 based serial ports # Parallel port device ppc device ppbus # Parallel port bus (required) device lpt # Printer device plip # TCP/IP over parallel device ppi # Parallel port interface device #device vpo # Requires scbus and da # If you've got a "dumb" serial or parallel PCI card that is # supported by the puc(4) glue driver, uncomment the following # line to enable it (connects to the sio and/or ppc drivers): #device puc # PCI Ethernet NICs. device de # DEC/Intel DC21x4x (``Tulip'') device em # Intel PRO/1000 adapter Gigabit Ethernet Card device ixgb # Intel PRO/10GbE Ethernet Card device txp # 3Com 3cR990 (``Typhoon'') device vx # 3Com 3c590, 3c595 (``Vortex'') # PCI Ethernet NICs that use the common MII bus controller code. # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! device miibus # MII bus support device bfe # Broadcom BCM440x 10/100 Ethernet device bge # Broadcom BCM570xx Gigabit Ethernet device dc # DEC/Intel 21143 and various workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) device lge # Level 1 LXT1001 gigabit ethernet device nge # NatSemi DP83820 gigabit ethernet device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc') device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 device sf # Adaptec AIC-6915 (``Starfire'') device sis # Silicon Integrated Systems SiS 900/SiS 7016 device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet device ste # Sundance ST201 (D-Link DFE-550TX) device ti # Alteon Networks Tigon I/II gigabit Ethernet device tl # Texas Instruments ThunderLAN device tx # SMC EtherPower II (83c170 ``EPIC'') device vge # VIA VT612x gigabit ethernet device vr # VIA Rhine, Rhine II device wb # Winbond W89C840F device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') # ISA Ethernet NICs. pccard NICs included. device cs # Crystal Semiconductor CS89x0 NIC # 'device ed' requires 'device miibus' device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards device ex # Intel EtherExpress Pro/10 and Pro/10+ device ep # Etherlink III based cards device fe # Fujitsu MB8696x based cards device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc. device lnc # NE2100, NE32-VL Lance Ethernet cards device sn # SMC's 9000 series of Ethernet chips device xe # Xircom pccard Ethernet # ISA devices that use the old ISA shims #device le # Wireless NIC cards device wlan # 802.11 support device an # Aironet 4500/4800 802.11 wireless NICs. device awi # BayStack 660 and others device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. #device wl # Older non 802.11 Wavelan wireless NIC. # Pseudo devices. device loop # Network loopback device mem # Memory and kernel memory devices device io # I/O device device random # Entropy device device ether # Ethernet support device sl # Kernel SLIP device ppp # Kernel PPP device tun # Packet tunnel. device pty # Pseudo-ttys (telnet etc) device md # Memory "disks" device gif # IPv6 and IPv4 tunneling device faith # IPv6-to-IPv4 relaying (translation) # The `bpf' device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! device bpf # Berkeley packet filter # USB support device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device usb # USB Bus (required) #device udbp # USB Double Bulk Pipe devices device ugen # Generic device uhid # "Human Interface Devices" device ukbd # Keyboard device ulpt # Printer device umass # Disks/Mass storage - Requires scbus and da device ums # Mouse device urio # Diamond Rio 500 MP3 player device uscanner # Scanners # USB Ethernet, requires mii device aue # ADMtek USB Ethernet device axe # ASIX Electronics USB Ethernet device cue # CATC USB Ethernet device kue # Kawasaki LSI USB Ethernet device rue # RealTek RTL8150 USB Ethernet # FireWire support device firewire # FireWire bus code device sbp # SCSI over FireWire (Requires scbus and da) device fwe # Ethernet over FireWire (non-standard! How-To-Repeat: The system freezes every time i used my soundcard, so repeating the problem is not difficult. But i don't know if other people have the same problem.
Responsible Changed From-To: freebsd-bugs->freebsd-multimedia Over to maintainer(s).
Yes, I had the same problem. The patch that it seems fix this problem is really simple: --- /usr/src/sys/dev/sound/pci/solo.c.old Thu Jul 6 10:10:37 2006 +++ /usr/src/sys/dev/sound/pci/solo.c Thu Jul 6 09:52:05 2006 @@ -313,7 +313,10 @@ src |= 1; if (src == 0) + { + ess_unlock(sc); return; + } if (sc->duplex) { pirq = (src & sc->pch.hwch)? 1 : 0;
State Changed From-To: open->closed Patch committed to HEAD. Thank you very much for the fix.