Re: 2.5.45 : kernel BUG at kernel/workqueue.c:69! (ISDN?)

Gregoire Favre (greg@ulima.unil.ch)
Fri, 1 Nov 2002 01:44:43 +0100


Hello again,

I can't compil AVM Fritz!Card PCI/PCIv2/PnP support in the kernel:

Generating include/linux/compile.h (updated)
gcc -Wp,-MD,init/.version.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=pentium4 -Iarch/i386/mach-generic -nostdinc -iwithprefix include -DKBUILD_BASENAME=version -c -o init/version.o init/version.c
ld -m elf_i386 -r -o init/built-in.o init/main.o init/version.o init/do_mounts.o
ld -m elf_i386 -e stext -T arch/i386/vmlinux.lds.s arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/built-in.o --start-group arch/i386/kernel/built-in.o arch/i386/mm/built-in.o arch/i386/mach-generic/built-in.o kernel/built-in.o mm/built-in.o fs/built-in.o ipc/built-in.o security/built-in.o crypto/built-in.o lib/lib.a arch/i386/lib/lib.a drivers/built-in.o sound/built-in.o arch/i386/pci/built-in.o net/built-in.o --end-group -o vmlinux
drivers/built-in.o(.data+0x18ff4): undefined reference to `local symbols in discarded section .exit.text'
make: *** [vmlinux] Error 1

As a module, it compils just perfectly!!!
But modprobe hisax_fcpcipnp result in an oops, this time I compil with
CONFIG_KALLSYMS=y and see if that would say more...

I got (modprobe hisax_fcpcipnp):

hisax_isac: ISAC-S/ISAC-SX ISDN driver v0.1.0
hisax_fcpcipnp: Fritz!Card PCI/PCIv2/PnP ISDN driver v0.0.1
Debug: sleeping function called from illegal context at mm/slab.c:1304
Call Trace:
[<c013663a>] kmem_flagcheck+0x5e/0x60
[<c01366dc>] cache_grow+0xa0/0x224
[<c01369aa>] cache_alloc_refill+0x14a/0x1b4
[<c0136abc>] kmem_cache_alloc+0x40/0x42
[<c0185070>] devfsd_notify_de+0x58/0xfc
[<c018516d>] devfsd_notify+0x59/0x86
[<c0185398>] devfs_register+0x1fe/0x350
[<c0210000>] xfs_read+0x1c4/0x222
[<c02cfd77>] isdn_register_devfs+0x71/0x86
[<c02cf96d>] isdn_add_channels+0x97/0xb4
[<c02ce123>] register_isdn+0x11f/0x1c6
[<c02d8a41>] hisax_register+0x8d/0x158
[<e37ac008>] fcpci_driver+0x28/0x7c [hisax_fcpcipnp]
[<e37ac008>] fcpci_driver+0x28/0x7c [hisax_fcpcipnp]
[<e37aaff0>] new_adapter+0xd2/0xdc [hisax_fcpcipnp]
[<e37ab59e>] .rodata.str1.1+0x47/0x5d [hisax_fcpcipnp]
[<e37ab040>] fcpci_probe+0x20/0xa0 [hisax_fcpcipnp]
[<e37abfe0>] fcpci_driver+0x0/0x7c [hisax_fcpcipnp]
[<c022142e>] pci_device_probe+0x5e/0x6c
[<e37abf60>] fcpci_ids+0x0/0x54 [hisax_fcpcipnp]
[<e37ac008>] fcpci_driver+0x28/0x7c [hisax_fcpcipnp]
[<c0229bd8>] bus_match+0x42/0x6e
[<e37ac008>] fcpci_driver+0x28/0x7c [hisax_fcpcipnp]
[<c0229cde>] driver_attach+0x5c/0x74
[<e37ac008>] fcpci_driver+0x28/0x7c [hisax_fcpcipnp]
[<e37ac008>] fcpci_driver+0x28/0x7c [hisax_fcpcipnp]
[<c0229f8f>] bus_add_driver+0x69/0x94
[<e37ac008>] fcpci_driver+0x28/0x7c [hisax_fcpcipnp]
[<e37ac008>] fcpci_driver+0x28/0x7c [hisax_fcpcipnp]
[<c022a490>] driver_register+0x46/0x52
[<e37ac008>] fcpci_driver+0x28/0x7c [hisax_fcpcipnp]
[<c022153d>] pci_register_driver+0x3b/0x4c
[<e37ac008>] fcpci_driver+0x28/0x7c [hisax_fcpcipnp]
[<e37ab1fb>] init_module+0x1f/0x48 [hisax_fcpcipnp]
[<e37abfe0>] fcpci_driver+0x0/0x7c [hisax_fcpcipnp]
[<c011c8a1>] sys_init_module+0x4eb/0x62e
[<e37aa060>] fcpci_read_isac+0x0/0x64 [hisax_fcpcipnp]
[<e37ab7e8>] .kmodtab+0x0/0xc [hisax_fcpcipnp]
[<e37aa060>] fcpci_read_isac+0x0/0x64 [hisax_fcpcipnp]
[<c0107457>] syscall_call+0x7/0xb

get_drv 0: 0 -> 1
fcpcipnp0: State ST_DRV_NULL Event EV_DRV_REGISTER
fcpcipnp0: ChangeState ST_DRV_LOADED
HiSax: Card 1 Protocol EDSS1 Id=fcpcipnp0 (0)
HiSax: DSS1 Rev. 2.30.6.2
HiSax: 2 channels added
HiSax: MAX_WAITING_CALLS added
get_drv 0: 1 -> 2
fcpcipnp0: State ST_DRV_LOADED Event EV_STAT_RUN
fcpcipnp0: ChangeState ST_DRV_RUNNING
put_drv 0: 2 -> 1
hisax_fcpcipnp: found adapter Fritz!Card PCI at 03:00.0

And compiling the kernel with the "old one":
ISDN subsystem initialized
PPP BSD Compression module registered
psmouse.c: Received PS2++ packet #0, but don't know how to handle.
HiSax: Linux Driver for passive ISDN cards
HiSax: Version 3.5 (kernel)
HiSax: Layer1 Revision 2.41.6.5
HiSax: Layer2 Revision 2.25.6.4
HiSax: TeiMgr Revision 2.17.6.3
HiSax: Layer3 Revision 2.17.6.5
HiSax: LinkLayer Revision 2.51.6.6
HiSax: Approval certification failed because of
HiSax: unauthorized source code changes
HiSax: Total 1 card defined
get_drv 0: 0 -> 1
HiSax: State ST_DRV_NULL Event EV_DRV_REGISTER
HiSax: ChangeState ST_DRV_LOADED
HiSax: Card 1 Protocol EDSS1 Id=HiSax (0)
psmouse.c: Received PS2++ packet #0, but don't know how to handle.
HiSax: AVM PCI driver Rev. 1.22.6.6
FritzPnP: no ISA PnP present
AVM PCI: stat 0x2020a
AVM PCI: Class A Rev 2
HiSax: AVM Fritz!PCI config irq:16 base:0xB800
AVM PCI: ISAC version (0): 2086/2186 V1.1
psmouse.c: Received PS2++ packet #0, but don't know how to handle.
AVM Fritz PnP/PCI: IRQ 16 count 0
get_drv 0: 1 -> 2
HiSax: State ST_DRV_LOADED Event EV_STAT_STAVAIL
put_drv 0: 2 -> 1
get_drv 0: 1 -> 2
HiSax: State ST_DRV_LOADED Event EV_STAT_STAVAIL
put_drv 0: 2 -> 1
get_drv 0: 1 -> 2
HiSax: State ST_DRV_LOADED Event EV_STAT_STAVAIL
put_drv 0: 2 -> 1
get_drv 0: 1 -> 2
HiSax: State ST_DRV_LOADED Event EV_STAT_STAVAIL
put_drv 0: 2 -> 1
get_drv 0: 1 -> 2
HiSax: State ST_DRV_LOADED Event EV_STAT_STAVAIL
put_drv 0: 2 -> 1
get_drv 0: 1 -> 2
HiSax: State ST_DRV_LOADED Event EV_STAT_STAVAIL
put_drv 0: 2 -> 1
get_drv 0: 1 -> 2
HiSax: State ST_DRV_LOADED Event EV_STAT_STAVAIL
put_drv 0: 2 -> 1
AVM Fritz PnP/PCI: IRQ 16 count 3
HiSax: DSS1 Rev. 2.30.6.2
HiSax: 2 channels added
HiSax: MAX_WAITING_CALLS added
get_drv 0: 1 -> 2
HiSax: State ST_DRV_LOADED Event EV_STAT_RUN
HiSax: ChangeState ST_DRV_RUNNING
put_drv 0: 2 -> 1

And if I manage connecting to internet using this last one, you'll
receive it ;-)

Well all that was working under 2.4 perfectly didn't work anymore here:
I don't know how to connect under 2.5: I use my ISDN Router and LAN
again...
Oups my script to enable LAN:
#!/bin/sh
isdn stop
isdnctrl delif ippp0 force
modprobe eepro100
ifconfig eth0 up
/etc/rc.d/init.d/network restart
ifup eth0

gives this:
/usr/local/bin/ROUTEUR: line 3: 3631 Segmentation fault isdnctrl delif ippp0 force

And from dmesg:
ISDN_CMD_LOCK 0/0
ippp0: local hangup
Unable to handle kernel NULL pointer dereference at virtual address 0000004c
printing eip:
c02c5b2f
*pde = 00000000
Oops: 0000
binfmt_misc dvb-ttpci alps_bsrv2 floppy eepro100 mii ext2 ehci-hcd usbcore
CPU: 0
EIP: 0060:[<c02c5b2f>] Not tainted
EFLAGS: 00010282
EIP is at fsm_event+0x1b/0xe6
eax: 0000004c ebx: d4382000 ecx: d438220c edx: dffef1e0
esi: 0000004c edi: 0000001c ebp: bffffb04 esp: ca4e9cd0
ds: 0068 es: 0068 ss: 0068
Process isdnctrl (pid: 3631, threadinfo=ca4e8000 task=d1a21380)
Stack: 0000568c 00000286 0000001d 00000001 d4382008 d4382000 d111de80 d4382004
bffffb04 c02cf8ac 0000004c 0000001c 00000000 c02c2d44 00000000 ffffffff
fffffff2 bffffb04 ca4e9d2c c02c37de d111de80 bffffb04 00000009 70707069
Call Trace:
[<c02cf8ac>] isdn_slot_free+0x22/0x26
[<c02c2d44>] isdn_net_dev_delete+0x50/0xbe
[<c02c37de>] isdn_net_ioctl+0xfc/0x320
[<c01accf6>] check_journal_end+0x172/0x286
[<c01ad28a>] do_journal_end+0xcc/0xbc8
[<c0139d72>] buffered_rmqueue+0xce/0x168
[<c014202e>] do_page_cache_readahead+0x74/0x152
[<c0139ea8>] __alloc_pages+0x9c/0x2b0
[<c0139d72>] buffered_rmqueue+0xce/0x168
[<c0139ea8>] __alloc_pages+0x9c/0x2b0
[<c0123c4c>] update_process_times+0x46/0x52
[<c0123ac5>] update_wall_time+0xd/0x36
[<c0123d8d>] do_timer+0xe9/0xee
[<c010ce3f>] do_timer_interrupt+0x4f/0x100
[<c0126acf>] collect_signal+0xab/0xea
[<c012eae4>] do_wp_page+0x302/0x37e
[<c02cefb8>] isdn_ctrl_ioctl+0x68/0x65c
[<c012f543>] handle_mm_fault+0x7d/0xae
[<c0115af7>] do_page_fault+0x25b/0x488
[<c0126746>] sys_rt_sigaction+0x82/0xba
[<c021f100>] copy_from_user+0x4c/0x50
[<c0156dcb>] sys_ioctl+0xed/0x28a
[<c011589c>] do_page_fault+0x0/0x488
[<c0107457>] syscall_call+0x7/0xb

Code: 8b 0e 8b 5e 04 8b 41 04 39 c3 7d 05 3b 79 08 7c 3b c7 04 24

I think it will be quiete hard to use ISDN under 2.5...

Thank you very much,

Grégoire
________________________________________________________________
http://ulima.unil.ch/greg ICQ:16624071 mailto:greg@ulima.unil.ch
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/