[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-users] Kernel BUG: DMA error when using PCI card passed through to DomU

Hello all,

I have recently built a Dom0 with a Supermicro C2BSA motherboard (Intel G33 chipset) + Q6600 CPU using OpenSUSE 10.2 (Xen 3.03). I am trying to build a mythtv server DomU by passing a Hauppauge WinTV Nova-T DVB card to the DomU. However, when I try and scan for DVB channels in the DomU I get the following error:

mythtvdev:~ # ./dscan
scanning /usr/share/dvb/scan/dvb-t/uk-WinterHill
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
initial transponder 754166670 0 3 9 1 0 0 0
----------- [cut here ] --------- [please bite here ] ---------
Kernel BUG at arch/x86_64/kernel/../../i386/kernel/pci-dma-xen.c:76
invalid opcode: 0000 [1] SMP
last sysfs file: /block/hda/dev
Modules linked in: joydev sg st sd_mod sr_mod scsi_mod ide_cd cdrom ide_core ipv6 nfs lockd nfs_acl sunrpc af_packet loop dm_mod cx88_blackbird cx2341x cx88_dvb cx8800 cx8802 cx88xx cx88_vp3054_i2c mt352 dvb_pll or51132 video_buf_dvb ir_common dvb_core i2c_algo_bit video_buf nxt200x firmware_class tveeprom compat_ioctl32 isl6421 btcx_risc zl10353 videodev cx24123 lgdt330x v4l1_compat cx22702 v4l2_common i2c_core ext3 mbcache jbd xenblk xennet
Pid: 5106, comm: cx88[0] dvb Tainted: G     U #1
RIP: e030:[<ffffffff8026b8bc>]  [<ffffffff8026b8bc>] dma_map_sg+0x126/0x14f
RSP: e02b:ffff88004d4dfe20  EFLAGS: 00010286
RAX: 000000000000002f RBX: ffff8800552293e0 RCX: ffffffff80496588
RDX: ffffffffff5f9000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffff880055229380 R08: ffffffff80496588 R09: ffff8800638482b0
R10: 00000000000015d4 R11: 0000000000000000 R12: 0000000000000006
R13: 0000000000000002 R14: ffff8800005fe870 R15: 0000000000000003
FS:  00002b673c0956f0(0000) GS:ffffffff80501000(0000) knlGS:0000000000000000
CS:  e033 DS: 0000 ES: 0000
Process cx88[0] dvb (pid: 5106, threadinfo ffff88004d4de000, task ffff880000761100)
Stack:  ffff88007fd96830 ffff88007fd96830 ffff88007fa748e0 ffff8800005fe800
 ffff88007fa74800 ffff88007fa748e0 0000000000000002 ffffffff880a675b
 ffff88007fd96800 ffff88007fa748e0 0000000000005e00 ffffffff88102865
Call Trace:
 [<ffffffff880a675b>] :video_buf:videobuf_dma_map+0x115/0x159
 [<ffffffff88102865>] :cx8802:cx8802_buf_prepare+0x9e/0xe4
 [<ffffffff8028f929>] keventd_create_kthread+0x0/0x61
 [<ffffffff880a5d70>] :video_buf:videobuf_read_start+0xac/0x146
 [<ffffffff880d734b>] :video_buf_dvb:videobuf_dvb_thread+0x2a/0x142
 [<ffffffff880d7321>] :video_buf_dvb:videobuf_dvb_thread+0x0/0x142
 [<ffffffff80232349>] kthread+0xd4/0x107
 [<ffffffff8025b714>] child_rip+0xa/0x12
 [<ffffffff8028f929>] keventd_create_kthread+0x0/0x61
 [<ffffffff80232275>] kthread+0x0/0x107
 [<ffffffff8025b70a>] child_rip+0x0/0x12

Code: 0f 0b 68 27 3c 3f 80 c2 4c 00 41 ff c7 48 83 c3 20 45 39 e7
RIP  [<ffffffff8026b8bc>] dma_map_sg+0x126/0x14f
 RSP <ffff88004d4dfe20>

Does anyone have any idea what's causing this or what I can do to fix it? I've looked at line 76 of arch/x86_64/kernel/../../i386/kernel/pci-dma-xen.c and saw a reference to swiotlb. I tried forcing swiotlb on using swiotlb=force on the Dom0 but this had no effect. From what I can tell swiotlb may be forced on for all x86 architectures anyway, maybe. I'm not entirely sure.

I've also tried assign 1 or 2 CPUs to the guest and trying with either 1GB or 2GB of RAM for the guest which made no difference.

Does anyone have any suggestions for how I can fix this problem?



Xen-users mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.