Summary: | DAHLIN-00075: wctc4xxp fails. BUG: unable to handle kernel NULL pointer dereference at 00000000000001c8 | ||
Reporter: | Humberto Figuera (korihor) | Labels: | |
Date Opened: | 2009-02-10 09:49:12.000-0600 | Date Closed: | 2009-03-10 12:17:40 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | dahdi_transcode |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
Description: | Using Debian Lenny GNU/Linux with kernel 2.6.26 don't work my card TC400P. ****** ADDITIONAL INFORMATION ****** Using Debian Lenny GNU/Linux 2.6.26-1-amd64 #1 SMP Sat Jan 10 17:57:00 UTC 2009 x86_64 lspci -v: 04:06.0 Ethernet controller: Digium, Inc. Wildcard TC400P transcoder base card (rev 11) Subsystem: Digium, Inc. Wildcard TC400P transcoder base card Flags: bus master, medium devsel, latency 32, IRQ 21 I/O ports at d000 [size=256] Memory at ff730000 (32-bit, non-prefetchable) [size=1K] Expansion ROM at e4000000 [disabled] [size=128K] Capabilities: [c0] Power Management version 2 Kernel driver in use: wctc4xxp Kernel modules: wctc4xxp dahdi-linux: trunk version svn info: Ruta: . URL: http://svn.digium.com/svn/dahdi/linux/trunk Raíz del repositorio: http://svn.digium.com/svn/dahdi UUID del repositorio: a0bf4364-ded3-4de4-8d8a-66a801d63aff Revisión: 5997 Tipo de nodo: directorio Agendado: normal Autor del último cambio: mattf Revisión del último cambio: 5997 Fecha de último cambio: 2009-02-10 09:37:21 -0430 (mar 10 de feb de 2009) dmesg: [ 36.951659] dahdi: Telephony Interface Registered on major 196 [ 36.951659] dahdi: Version: SVN-trunk-r5997 [ 36.967768] dahdi_transcode: Loaded. [ 37.015659] wctc4xxp: tc400b0: Attached to device at 0000:04:06.0. [ 37.015659] firmware: requesting dahdi-fw-tc400m.bin [ 37.095373] ACPI: PCI Interrupt 0000:04:06.0[A] -> GSI 21 (level, low) -> IRQ 21 [ 37.095414] BUG: unable to handle kernel NULL pointer dereference at 00000000000001c8 [ 37.095659] IP: [<ffffffff80323f50>] map_single+0x1a/0x22e [ 37.095659] PGD 12988c067 PUD 12988f067 PMD 0 [ 37.095659] Oops: 0000 [1] SMP [ 37.095659] CPU 1 [ 37.095659] Modules linked in: wctc4xxp(+) firmware_class dahdi_transcode dahdi crc_ccitt ext2 mbcache loop snd_pcm snd_timer snd soundcore snd_page_alloc i2c_i801 i2c_core pcspkr rng_core iTCO_wdt video output button intel_agp evdev reiserfs sg sr_mod cdrom sd_mod ata_piix piix ide_pci_generic ide_core ata_generic libata scsi_mod dock 8139cp 8139too mii r8169 thermal processor fan thermal_sys [ 37.095659] Pid: 2122, comm: modprobe Not tainted 2.6.26-1-amd64 #1 [ 37.095659] RIP: 0010:[<ffffffff80323f50>] [<ffffffff80323f50>] map_single+0x1a/0x22e [ 37.095659] RSP: 0018:ffff8101298c3b28 EFLAGS: 00010096 [ 37.095659] RAX: 0000000000000001 RBX: 0000000000000002 RCX: 0000000000000002 [ 37.095659] RDX: 00000000000005ee RSI: ffff81012b04d480 RDI: 0000000000000000 [ 37.095659] RBP: 0000000000000000 R08: 0000000000000000 R09: ffff81012b04d480 [ 37.095659] R10: 0000000000000001 R11: 0000000100000000 R12: 000000012b04d480 [ 37.095659] R13: ffff81012b04d480 R14: 00000000000005ee R15: 00000000000005ee [ 37.095659] FS: 00007fe2870776e0(0000) GS:ffff81012fa828c0(0000) knlGS:0000000000000000 [ 37.095659] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 37.095659] CR2: 00000000000001c8 CR3: 000000012d13f000 CR4: 00000000000006e0 [ 37.095659] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 37.095659] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 37.095659] Process modprobe (pid: 2122, threadinfo ffff8101298c2000, task ffff81012fb44990) [ 37.095659] Stack: 00000000000412d0 000000022b1bde00 ffff81012b04d480 ffffffff8029593f [ 37.095659] ffff81012d4fa180 0000000000000002 0000000000000000 000000012b04d480 [ 37.095659] ffff81012b04d480 00000000000005ee ffff81012b04d480 ffffffff80324357 [ 37.095659] Call Trace: [ 37.095659] [<ffffffff8029593f>] cache_grow+0x1c3/0x21d [ 37.095659] [<ffffffff80324357>] swiotlb_map_single_attrs+0x4f/0xa7 [ 37.095659] [<ffffffff80220ed0>] swiotlb_map_single_phys+0x0/0x14 [ 37.095659] [<ffffffffa01edae1>] :wctc4xxp:wctc4xxp_submit+0x11f/0x171 [ 37.095659] [<ffffffffa01f44d1>] :wctc4xxp:wctc4xxp_init_one+0x9c2/0xcbf [ 37.095659] [<ffffffff80328759>] pci_device_probe+0xa9/0xf8 [ 37.095659] [<ffffffff80384fd4>] driver_probe_device+0xd0/0x14d [ 37.095659] [<ffffffff80385097>] __driver_attach+0x46/0x6d [ 37.095659] [<ffffffff80385051>] __driver_attach+0x0/0x6d [ 37.095659] [<ffffffff80384777>] bus_for_each_dev+0x44/0x6f [ 37.095659] [<ffffffff80384bad>] bus_add_driver+0xb4/0x203 [ 37.095659] [<ffffffff803852f3>] driver_register+0x8d/0x101 [ 37.095659] [<ffffffff803289bd>] __pci_register_driver+0x47/0x7a [ 37.095659] [<ffffffffa002606a>] :wctc4xxp:wctc4xxp_init+0x6a/0x78 [ 37.095659] [<ffffffff80255067>] sys_init_module+0x190e/0x1aa4 [ 37.095659] [<ffffffff80297712>] kmem_cache_destroy+0x0/0xe8 [ 37.095659] [<ffffffff8020beca>] system_call_after_swapgs+0x8a/0x8f [ 37.095659] [ 37.095659] [ 37.095659] Code: 00 73 05 e9 4c fe ff ff c3 45 31 c0 e9 ca ff ff ff 41 57 49 89 d7 41 56 41 55 41 54 55 53 48 83 ec 28 48 89 74 24 10 89 4c 24 0c <48> 8b 87 c8 01 00 00 48 8b 3d e2 8c 33 00 48 85 c0 0f 84 ce 01 [ 37.095659] RIP [<ffffffff80323f50>] map_single+0x1a/0x22e [ 37.095659] RSP <ffff8101298c3b28> [ 37.095659] CR2: 00000000000001c8 [ 37.095659] ---[ end trace deb053d1a16ed158 ]--- | ||
Comments: | By: Shaun Ruffell (sruffell) 2009-02-10 10:15:47.000-0600 Korihor, as this is hardware board specific and not general to DAHDI, you are better off contacting Digium technical support. Although I'll try to remember to update this issue with any resolution found to it for future reference. By: Shaun Ruffell (sruffell) 2009-02-10 23:49:45.000-0600 I ran into something similar to what you're reporting here while looking at another issue this evening on a newly updated development machine. I was hitting an oops at unload when dma_unmap_single was called instead of pci_unmap_single, where as you were hitting it when the dma buffer is mapped, but it is probably very similar. Could you try a version of the trunk that includes this commit: http://svn.digium.com/view/dahdi?view=revision&revision=6005 By: Humberto Figuera (korihor) 2009-02-11 00:22:20.000-0600 sruffell, that patch work :D --- base.c.original.trunk 2009-02-11 01:40:25.000000000 -0430 +++ base.c 2009-02-11 01:39:33.000000000 -0430 @@ -1030,6 +1030,7 @@ d->des1 |= cpu_to_le32(END_OF_RING); dr->direction = direction; spin_lock_init(&dr->lock); + dr->pdev = pdev; return 0; } @@ -1305,7 +1306,7 @@ for (i = 0; i < DRING_SIZE; ++i) { d = wctc4xxp_descriptor(dr, i); if (d->buffer1) { - dma_unmap_single(&dr->pdev->dev, d->buffer1, + pci_unmap_single(dr->pdev, d->buffer1, SFRAME_SIZE, dr->direction); d->buffer1 = 0; /* Commands will also be sitting on the waiting for dmesg: [ 35.903628] dahdi: Telephony Interface Registered on major 196 [ 35.903631] dahdi: Version: SVN-trunk-r5997M [ 35.920248] dahdi_transcode: Loaded. [ 35.961022] wctc4xxp: tc400b0: Attached to device at 0000:04:06.0. [ 35.961022] firmware: requesting dahdi-fw-tc400m.bin [ 36.039494] ACPI: PCI Interrupt 0000:04:06.0[A] -> GSI 21 (level, low) -> IRQ 21 [ 39.854294] wctc4xxp: tc400b0: (G.729a) Transcoder support LOADED (firm ver = 6.12) [ 39.854294] wctc4xxp: tc400b0: Installed a Wildcard TC: Wildcard TC400P+TC400M [ 39.854294] dahdi_transcode: Registered codec translator 'DTE Encoder' with 120 transcoders (srcs=0000000c, dsts=00000100) [ 39.854294] dahdi_transcode: Registered codec translator 'DTE Decoder' with 120 transcoders (srcs=00000100, dsts=0000000c) |