Just to give another data point, I got the newest version of all the v4l drivers (including saa7134, saa7134-alsa, and videobuf-dma-sg) and installed them by following the instructions here
http://linuxtv.org/v4lwiki/index.php/How_to_build_from_Mercurial.
This had no effect, other than to change the line number on which the error occurs. Also, if I understand the error message correctly, the error isn't with saa7134-alsa, but with videobuf-dma-sg.
I thought about submitting a kernel bug report, but they have rules about only using vanilla kernels, and I don't really have the patience to put a new kernel on my machine. Instead I think I am going to take a look at what's changed between different version of this videobuf-dma-sg file, though I'm way out of my league here, so any help would be appreciated.
Code:
------------[ cut here ]------------
kernel BUG at /home/gjm/v4l-dvb/v4l/videobuf-dma-sg.c:272!
invalid opcode: 0000 [#1]
PREEMPT SMP
Modules linked in: saa7134_alsa autofs4 nfsd exportfs cx8800 cx88xx bttv btcx_risc lirc_i2c lirc_dev ipv6 af_packet fuse usbhid ff_memless pcmcia yenta_socket rsrc_nonstatic pcmcia_core aufs sbp2 ohci1394 ieee1394 usb_storage ohci_hcd ehci_hcd nvram hostap_pci hostap ieee80211_crypt_rtl tuner_simple tuner_types wm8775 cx25840 via686a hwmon snd_via82xx gameport snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm orinoco_pci orinoco hermes snd_page_alloc snd_mpu401_uart snd_seq_dummy snd_seq_oss ivtv snd_seq_midi snd_seq_midi_event saa7115 snd_seq msp3400 snd_timer snd_rawmidi tuner snd_seq_device 8250_pnp 8250 serial_core firmware_class i2c_algo_bit saa7134 ir_common cx2341x videodev v4l1_compat compat_ioctl32 v4l2_common i2c_viapro videobuf_dma_sg videobuf_core tveeprom uhci_hcd via_agp agpgart prism2_pci snd i2c_core p80211 shpchp pci_hotplug usbcore parport_pc parport soundcore pcspkr rtc_cmos rtc_core rtc_lib tsdev evdev
CPU: 0
EIP: 0060:[<f0c53438>] Not tainted VLI
EFLAGS: 00010292 (2.6.23-chw-4 #1)
EIP is at videobuf_dma_unmap+0x58/0x60 [videobuf_dma_sg]
eax: 00000029 ebx: eb0150cc ecx: ffffffff edx: 00000000
esi: e1a23ae0 edi: df4bca00 ebp: d6b11f44 esp: d6b11e24
ds: 007b es: 007b fs: 00d8 gs: 0033 ss: 0068
Process mythbackend (pid: 3639, ti=d6b10000 task=d7fe0110 task.ti=d6b10000)
Stack: f0c541d8 00000000 19721112 eb015000 f0c53451 d6b11e9d f0d525a3 00000000
e2e98620 00000000 00000000 e1a23ae0 ebd8d644 00000000 eff23448 e6f85ed4
ebd8d400 e32bf400 e2e98620 00000af5 00000000 e25c98a4 e25c9958 00000000
Call Trace:
[<f0c53451>] videobuf_sg_dma_unmap+0x11/0x20 [videobuf_dma_sg]
[<f0d525a3>] snd_pcm_oss_change_params+0x1f3/0xd80 [snd_pcm_oss]
[<f0d5353b>] snd_pcm_oss_get_active_substream+0x5b/0x70 [snd_pcm_oss]
[<c0567c1d>] __mutex_lock_slowpath+0x12d/0x290
[<f1743564>] snd_card_saa7134_hw_free+0x44/0x70 [saa7134_alsa]
[<f0db2f36>] snd_pcm_release_substream+0x36/0x70 [snd_pcm]
[<f0d53709>] snd_pcm_oss_release_file+0x19/0x30 [snd_pcm_oss]
[<f0d54ee4>] snd_pcm_oss_release+0x44/0xa0 [snd_pcm_oss]
[<c01854d2>] __fput+0xa2/0x1d0
[<c01824b7>] filp_close+0x47/0x80
[<c01838b9>] sys_close+0x69/0xc0
[<c0104412>] syscall_call+0x7/0xb
=======================
Code: c7 43 14 00 00 00 00 c7 43 18 00 00 00 00 83 c4 0c 5b c3 c7 44 24 08 12 11 72 19 89 44 24 04 c7 04 24 d8 41 c5 f0 e8 b8 65 4d cf <0f> 0b eb fe 0f 0b eb fe 81 ec ec 00 00 00 89 44 24 24 89 e0 e8
EIP: [<f0c53438>] videobuf_dma_unmap+0x58/0x60 [videobuf_dma_sg] SS:ESP 0068:d6b11e24