[alsa-devel] Regression: snd_hda_intel driver causes quake3 to hang

Takashi Iwai tiwai at suse.de
Tue Feb 17 13:05:46 CET 2009


At Tue, 17 Feb 2009 11:49:17 +0000,
Charlie Baylis wrote:
> 
> 
> Hi
> 
> Some time ago, quake3 stopped running correctly on my PC. This occured when
> changing kernel from 2.6.25 to 2.6.27.  The symptom is that within a fraction
> of a second of gameplay, the game freezes. Switching to a console allows the
> game to be killed. I am using standard kernel.org kernels with no additional
> patches.

Could you check whether it happens with 2.6.29-rc5?
On 2.6.29, the delayed handling is done via its own workqueue, so this
might be no longer a problem.

Also you could try position_fix=1 instead of bdl_pos_adj. 

The problem is likely your hardware does unreliable DMA position
reporting.   Detecting such a broken hardware would be possible, but
it'll be a bit tricky...



Takashi

> I have bisected the problem, and found that commit
> 675f25d4d3ff6501cbce608bcc2333a56ec4c105 (ALSA: hda - Add bdl_pos_adj option)
> introduced the problem. The bdl_pos_adj option described in the commit log can
> be adjusted to workaround the problem.
> 
> If I run the following command, the game runs correctly.
> # echo 0 > /sys/module/snd_hda_intel/parameters/bdl_pos_adj
> 
> The PC has a Asus N4L VM DH motherboard. lspci describes the hardware as:
> $ lspci
> 00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
> 00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
> 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
> 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
> 00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
> 00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
> 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
> 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
> 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
> 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
> 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
> 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
> 00:1f.0 ISA bridge: Intel Corporation 82801GHM (ICH7-M DH) LPC Interface Bridge (rev 02)
> 00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
> 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
> 01:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller
> 02:00.0 SATA controller: JMicron Technologies, Inc. JMicron 20360/20363 AHCI Controller (rev 02)
> 02:00.1 IDE interface: JMicron Technologies, Inc. JMicron 20360/20363 AHCI Controller (rev 02)
> 04:03.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)
> 
> Userspace is debian lenny on i386.
> 
> Let me know if you need more info.
> 
> Regards
> Charlie
> 


More information about the Alsa-devel mailing list