[CentOS-virt] domU shutdown with cx88 crashes dom0

Sat Oct 10 15:05:33 UTC 2009
Christian Schuermann <huor.carnesir at arcor.de>

On 06/22/2009 02:09 PM, Christian Schuermann wrote:
> On 06/21/2009 11:41 AM, Christian Schuermann wrote:
>> Hi,
>>
>> I've got a big problem with a cx88 DVB card. It is passed through to a
>> CentOS 5.3 domU (dom0 is CentOS 5.3 as well), but when I shutdown the
>> domU, this happens:
>>
>>
> [...]
>>
>>
>> This loops forever eating every available cpu cycle. The dom0 becomes
>> unusably slow until I manually destroy the domU.

This get even worse with 2.6.18-164.el5xen. The domU crashes after a 
short period (~5mins)


Fatal DMA error! Please use 'swiotlb=force'
------------[ cut here ]------------
kernel BUG at arch/i386/kernel/pci-dma-xen.c:159!
invalid opcode: 0000 [#1]
SMP
last sysfs file: /class/input/input2/event2/dev
Modules linked in: dvb_pll(U) cx22702(U) cx88_dvb(U) cx88_vp3054_i2c(U) 
cx8802(U) videobuf_dvb(U) cx88xx(U) v4l2_common(U) videodev(U) 
v4l1_compat(U) ir_common(U) i2c_algo_bit videobuf_dma_sg(U) 
videobuf_core(U) btcx_risc(U) tveeprom(U) i2c_core dvb_core(U) ipv6 
xfrm_nalgo crypto_api dm_mirror dm_multipath scsi_dh scsi_mod parport_pc 
lp parport xennet pcspkr dm_raid45 dm_message dm_region_hash dm_log 
dm_mod dm_mem_cache xenblk ext3 jbd uhci_hcd ohci_hcd ehci_hcd
CPU:    0
EIP:    0061:[<c040a63d>]    Tainted: G      VLI
EFLAGS: 00010296   (2.6.18-164.el5xen #1)
EIP is at dma_map_sg+0x142/0x1a9
eax: 0000002f   ebx: 00000000   ecx: 00000001   edx: f5416000
esi: 08b90000   edi: 00000001   ebp: e125408c   esp: d87a7f2c
ds: 007b   es: 007b   ss: 0069
Process cx88[0] dvb (pid: 1791, ti=d87a7000 task=c0c2faa0 task.ti=d87a7000)
Stack: c06323fd 00000006 c0c89048 00000005 dc2e020c ded41014 dc2e0180 
00000000
        e12e9c09 00000002 e12e9c44 ded41014 e12f12a7 dc2e0180 ded41014 
00005e00
        c1739a00 e13c5c52 ded41014 dc2e020c dc2e0180 ded41014 00000001 
ded41014
Call Trace:
  [<e12e9c09>] videobuf_dma_map+0xe8/0x123 [videobuf_dma_sg]
  [<e12e9c44>] __videobuf_iolock+0x0/0xf9 [videobuf_dma_sg]
  [<e12f12a7>] videobuf_iolock+0x70/0x75 [videobuf_core]
  [<e13c5c52>] cx8802_buf_prepare+0x7b/0xbc [cx8802]
  [<e13bd19e>] dvb_buf_prepare+0x11/0x14 [cx88_dvb]
  [<e12f1c14>] __videobuf_read_start+0x89/0xe6 [videobuf_core]
  [<e13b84af>] videobuf_dvb_thread+0x0/0x108 [videobuf_dvb]
  [<e12f1ee5>] videobuf_read_start+0x10/0x1e [videobuf_core]
  [<e13b84d6>] videobuf_dvb_thread+0x27/0x108 [videobuf_dvb]
  [<e13b84af>] videobuf_dvb_thread+0x0/0x108 [videobuf_dvb]
  [<c042fe35>] kthread+0xc0/0xeb
  [<c042fd75>] kthread+0x0/0xeb
  [<c0403005>] kernel_thread_helper+0x5/0xb
  =======================
Code: c0 74 07 8b 08 8b 58 04 eb 05 83 c9 ff 31 db 89 da 89 c8 f7 d2 f7 
d0 21 fa 21 f0 89 d1 09 c1 74 13 68 fd 23 63 c0 e8 77 59 01 00 <0f> 0b 
9f 00 de 23 63 c0 5e 8b 45 ec 31 d2 31 f6 2b 05 10 34 7b
EIP: [<c040a63d>] dma_map_sg+0x142/0x1a9 SS:ESP 0069:d87a7f2c
  <0>Kernel panic - not syncing: Fatal exception