* oops in old isdn4linux and 2.6.2-rc3 (was in -rc2 too)
@ 2004-02-02 13:02 Todor Todorov
2004-02-02 19:51 ` Karsten Keil
0 siblings, 1 reply; 12+ messages in thread
From: Todor Todorov @ 2004-02-02 13:02 UTC (permalink / raw)
To: linux-kernel
Hello everyone,
didn't find any more applicabale mailing list, so here it goes:
card: AVM A1 PCMCIA
kernel: 2.6.2-rc3
isdn options:
CONFIG_ISDN_BOOL=y
CONFIG_ISDN=m
CONFIG_ISDN_NET_SIMPLE=y
CONFIG_ISDN_NET_CISCO=y
CONFIG_ISDN_PPP=y
CONFIG_ISDN_PPP_VJ=y
CONFIG_ISDN_MPP=y
CONFIG_ISDN_PPP_BSDCOMP=m
CONFIG_ISDN_AUDIO=y
CONFIG_ISDN_TTY_FAX=y
CONFIG_ISDN_DRV_LOOP=m
CONFIG_ISDN_DRV_HISAX=m
CONFIG_HISAX_EURO=y
CONFIG_DE_AOC=y
CONFIG_HISAX_MAX_CARDS=2
CONFIG_HISAX_AVM_A1_PCMCIA=y
CONFIG_HISAX_AVM_A1_CS=m
pcmcia options:
CONFIG_PCMCIA=m
CONFIG_YENTA=m
CONFIG_CARDBUS=y
CONFIG_PCMCIA_PROBE=y
When I insert the ISDN card I get the followin oops and the cardmgr
proces does not respond anymore.
oops output:
Feb 2 13:44:11 styx kernel: cs: memory probe 0xa0000000-0xa0ffffff: clean.
Feb 2 13:44:11 styx kernel: CSLIP: code copyright 1989 Regents of the
University of California
Feb 2 13:44:12 styx kernel: ISDN subsystem initialized
Feb 2 13:44:12 styx kernel: HiSax: Linux Driver for passive ISDN cards
Feb 2 13:44:12 styx kernel: HiSax: Version 3.5 (module)
Feb 2 13:44:12 styx kernel: HiSax: Layer1 Revision 2.41.6.5
Feb 2 13:44:12 styx kernel: HiSax: Layer2 Revision 2.25.6.4
Feb 2 13:44:12 styx kernel: HiSax: TeiMgr Revision 2.17.6.3
Feb 2 13:44:12 styx kernel: HiSax: Layer3 Revision 2.17.6.5
Feb 2 13:44:12 styx kernel: HiSax: LinkLayer Revision 2.51.6.6
Feb 2 13:44:12 styx kernel: avma1_cs: testing i/o 0x140-0x147
Feb 2 13:44:12 styx kernel: avma1_cs: checking at i/o 0x140, irq 3
Feb 2 13:44:12 styx kernel: get_drv 0: 0 -> 1
Feb 2 13:44:12 styx kernel: HiSax: Card 1 Protocol EDSS1 Id=HiSax (0)
Feb 2 13:44:12 styx kernel: HiSax: AVM A1 PCMCIA driver Rev. 2.7.6.2
Feb 2 13:44:12 styx kernel: printing eip:
Feb 2 13:44:12 styx kernel: d19cd612
Feb 2 13:44:12 styx kernel: Oops: 0000 [#1]
Feb 2 13:44:12 styx kernel: CPU: 0
Feb 2 13:44:12 styx kernel: EIP:
0060:[__crc_blk_attempt_remerge+2649154/3591710] Not tainted
Feb 2 13:44:12 styx kernel: EFLAGS: 00010282
Feb 2 13:44:12 styx kernel: EIP is at 0xd19cd612
Feb 2 13:44:12 styx kernel: eax: c4e31000 ebx: d3e9f9a0 ecx:
00000001 edx: c0315598
Feb 2 13:44:12 styx kernel: esi: d3e96987 edi: cef7385d ebp:
cef73894 esp: cef7383c
Feb 2 13:44:12 styx kernel: ds: 007b es: 007b ss: 0068
Feb 2 13:44:12 styx kernel: Process cardmgr (pid: 975,
threadinfo=cef72000 task=cedab900)
Feb 2 13:44:12 styx kernel: Stack: d3e8ebfc c4e31000 d3e9f9a0 76655224
6f697369 32203a6e 362e372e 2400322e
Feb 2 13:44:12 styx kernel: cef73800 00000246 cffad758 c4e31000
cef738ee c4e310d6 cef73894 d3e78c78
Feb 2 13:44:12 styx kernel: d3e97240 00000001 d3e94294 c4e31000
cef738ee c4e310d6 cef738bc d3e78e36
Feb 2 13:44:12 styx kernel: Call Trace:
Feb 2 13:44:12 styx kernel:
[__crc_journal_set_features+2091499/2437465]
setup_avm_a1_pcmcia+0x4a/0x62 [hisax]
Feb 2 13:44:12 styx kernel:
[__crc_journal_set_features+2001511/2437465] do_register_isdn+0xe3/0xe9
[hisax]
Feb 2 13:44:12 styx kernel:
[__crc_journal_set_features+2001957/2437465] checkcard+0x168/0x1ad [hisax]
Feb 2 13:44:12 styx kernel:
[__crc_journal_set_features+2002290/2437465]
HiSax_inithardware+0xc3/0x17e [hisax]
Feb 2 13:44:12 styx kernel:
[__crc_journal_set_features+2003505/2437465]
avm_a1_init_pcmcia+0x105/0x125 [hisax]
Feb 2 13:44:12 styx kernel:
[__crc_blk_attempt_remerge+2665386/3591710] avma1cs_config+0x269/0x38c
[avma1_cs]
Feb 2 13:44:12 styx kernel:
[__crc_blk_attempt_remerge+2483938/3591710] set_cis_map+0x3e/0x10b
[pcmcia_core]
Feb 2 13:44:12 styx kernel:
[__crc_blk_attempt_remerge+2484415/3591710] read_cis_mem+0x110/0x182
[pcmcia_core]
Feb 2 13:44:12 styx kernel:
[__crc_blk_attempt_remerge+2488313/3591710] parse_vers_1+0x5c/0x63
[pcmcia_core]
Feb 2 13:44:12 styx kernel:
[__crc_blk_attempt_remerge+2487241/3591710]
pcmcia_get_next_tuple+0x249/0x2a3 [pcmcia_core]
Feb 2 13:44:12 styx kernel: [__call_console_drivers+87/89]
__call_console_drivers+0x57/0x59
Feb 2 13:44:12 styx kernel: [__wake_up_common+49/80]
__wake_up_common+0x31/0x50
Feb 2 13:44:12 styx kernel: [printk+299/380] printk+0x12b/0x17c
Feb 2 13:44:12 styx kernel:
[__crc_blk_attempt_remerge+2495383/3591710] do_mem_probe+0xfc/0x1c2
[pcmcia_core]
Feb 2 13:44:12 styx kernel:
[__crc_blk_attempt_remerge+2487241/3591710]
pcmcia_get_next_tuple+0x249/0x2a3 [pcmcia_core]
Feb 2 13:44:12 styx kernel:
[__crc_blk_attempt_remerge+2486012/3591710]
pcmcia_get_first_tuple+0x94/0x130 [pcmcia_core]
Feb 2 13:44:12 styx kernel:
[__crc_blk_attempt_remerge+2665883/3591710] avma1cs_event+0x59/0xb6
[avma1_cs]
Feb 2 13:44:12 styx kernel:
[__crc_blk_attempt_remerge+2510239/3591710]
pcmcia_register_client+0x232/0x282 [pcmcia_core]
Feb 2 13:44:12 styx kernel:
[__crc_blk_attempt_remerge+2483938/3591710] set_cis_map+0x3e/0x10b
[pcmcia_core]
Feb 2 13:44:12 styx kernel:
[__crc_blk_attempt_remerge+2664285/3591710] avma1cs_attach+0x12d/0x1a4
[avma1_cs]
Feb 2 13:44:12 styx kernel:
[__crc_blk_attempt_remerge+2665794/3591710] avma1cs_event+0x0/0xb6
[avma1_cs]
Feb 2 13:44:12 styx kernel:
[__crc_blk_attempt_remerge+2507122/3591710] pcmcia_bind_device+0x68/0xa7
[pcmcia_core]
Feb 2 13:44:12 styx kernel:
[__crc_blk_attempt_remerge+2226992/3591710] bind_request+0x108/0x228 [ds]
Feb 2 13:44:12 styx kernel: [capable+36/67] capable+0x24/0x43
Feb 2 13:44:12 styx kernel:
[__crc_blk_attempt_remerge+2230000/3591710] ds_ioctl+0x52a/0x660 [ds]
Feb 2 13:44:12 styx kernel: [sock_def_readable+128/130]
sock_def_readable+0x80/0x82
Feb 2 13:44:12 styx kernel: [unix_dgram_sendmsg+1134/1364]
unix_dgram_sendmsg+0x46e/0x554
Feb 2 13:44:12 styx kernel: [__free_pages_ok+175/183]
__free_pages_ok+0xaf/0xb7
Feb 2 13:44:12 styx kernel: [__free_pages+58/72] __free_pages+0x3a/0x48
Feb 2 13:44:12 styx kernel: [slab_destroy+199/264] slab_destroy+0xc7/0x108
Feb 2 13:44:12 styx kernel: [free_block+185/205] free_block+0xb9/0xcd
Feb 2 13:44:12 styx kernel: [cache_flusharray+78/236]
cache_flusharray+0x4e/0xec
Feb 2 13:44:12 styx kernel: [zap_pmd_range+75/101] zap_pmd_range+0x4b/0x65
Feb 2 13:44:12 styx kernel: [unmap_page_range+65/103]
unmap_page_range+0x41/0x67
Feb 2 13:44:12 styx kernel: [unmap_vmas+229/522] unmap_vmas+0xe5/0x20a
Feb 2 13:44:12 styx kernel: [unmap_vma+65/123] unmap_vma+0x41/0x7b
Feb 2 13:44:12 styx kernel: [unmap_vma_list+29/42]
unmap_vma_list+0x1d/0x2a
Feb 2 13:44:12 styx kernel: [do_munmap+321/387] do_munmap+0x141/0x183
Feb 2 13:44:12 styx kernel: [sys_ioctl+286/675] sys_ioctl+0x11e/0x2a3
Feb 2 13:44:12 styx kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Feb 2 13:44:12 styx kernel:
Feb 2 13:44:12 styx kernel: Code: Bad EIP value.
Please help with this issue. TIA!
Greetings,
T.Todorov
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: oops in old isdn4linux and 2.6.2-rc3 (was in -rc2 too)
2004-02-02 13:02 oops in old isdn4linux and 2.6.2-rc3 (was in -rc2 too) Todor Todorov
@ 2004-02-02 19:51 ` Karsten Keil
2004-02-02 22:00 ` Marcel Holtmann
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Karsten Keil @ 2004-02-02 19:51 UTC (permalink / raw)
To: linux-kernel
On Mon, Feb 02, 2004 at 02:02:56PM +0100, Todor Todorov wrote:
> Hello everyone,
>
> didn't find any more applicabale mailing list, so here it goes:
>
try the actual I4L for 2.6 patch in
ftp://ftp.isdn4linux.de/pub/isdn4linux/kernel/v2.6
--
Karsten Keil
SuSE Labs
ISDN development
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: oops in old isdn4linux and 2.6.2-rc3 (was in -rc2 too)
2004-02-02 19:51 ` Karsten Keil
@ 2004-02-02 22:00 ` Marcel Holtmann
2004-02-03 7:48 ` Karsten Keil
2004-02-04 7:38 ` 2.6.2-rc3 with isdn patch + devfs doesn't compile Adrian Bunk
2004-02-09 12:13 ` oops in old isdn4linux and 2.6.2-rc3 (was in -rc2 too) David Woodhouse
2 siblings, 1 reply; 12+ messages in thread
From: Marcel Holtmann @ 2004-02-02 22:00 UTC (permalink / raw)
To: Karsten Keil; +Cc: Linux Kernel Mailing List
Hi Karsten,
> try the actual I4L for 2.6 patch in
> ftp://ftp.isdn4linux.de/pub/isdn4linux/kernel/v2.6
what is your current plan for including these patches into mainstream
once 2.6.2 is out?
Regards
Marcel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: oops in old isdn4linux and 2.6.2-rc3 (was in -rc2 too)
2004-02-02 22:00 ` Marcel Holtmann
@ 2004-02-03 7:48 ` Karsten Keil
2004-02-05 22:59 ` Stian Jordet
0 siblings, 1 reply; 12+ messages in thread
From: Karsten Keil @ 2004-02-03 7:48 UTC (permalink / raw)
To: Linux Kernel Mailing List
On Mon, Feb 02, 2004 at 11:00:13PM +0100, Marcel Holtmann wrote:
> Hi Karsten,
>
> > try the actual I4L for 2.6 patch in
> > ftp://ftp.isdn4linux.de/pub/isdn4linux/kernel/v2.6
>
> what is your current plan for including these patches into mainstream
> once 2.6.2 is out?
>
Was sent to Linus a week ago, but no answer so far.
--
Karsten Keil
SuSE Labs
ISDN development
^ permalink raw reply [flat|nested] 12+ messages in thread
* 2.6.2-rc3 with isdn patch + devfs doesn't compile
2004-02-02 19:51 ` Karsten Keil
2004-02-02 22:00 ` Marcel Holtmann
@ 2004-02-04 7:38 ` Adrian Bunk
2004-02-04 9:39 ` Karsten Keil
2004-02-09 12:13 ` oops in old isdn4linux and 2.6.2-rc3 (was in -rc2 too) David Woodhouse
2 siblings, 1 reply; 12+ messages in thread
From: Adrian Bunk @ 2004-02-04 7:38 UTC (permalink / raw)
To: linux-kernel, kkeil; +Cc: isdn4linux
On Mon, Feb 02, 2004 at 08:51:39PM +0100, Karsten Keil wrote:
> On Mon, Feb 02, 2004 at 02:02:56PM +0100, Todor Todorov wrote:
> > Hello everyone,
> >
> > didn't find any more applicabale mailing list, so here it goes:
> >
>
> try the actual I4L for 2.6 patch in
> ftp://ftp.isdn4linux.de/pub/isdn4linux/kernel/v2.6
FYI:
I'm getting the following compile error in 2.6.2-rc3 with this patch
applied and CONFIG_DEVFS_FS=n:
<-- snip -->
...
CC drivers/isdn/capi/capidrv.o
In file included from drivers/isdn/capi/capidrv.c:25:
include/linux/isdn.h:637: error: parse error before "devfs_handle_t"
include/linux/isdn.h:637: warning: no semicolon at end of struct or union
include/linux/isdn.h:638: warning: type defaults to `int' in declaration
of `devfs_handle_isdnctrl'
include/linux/isdn.h:638: warning: data definition has no type or storage class
include/linux/isdn.h:639: error: parse error before "devfs_handle_isdnX"
include/linux/isdn.h:639: warning: type defaults to `int' in declaration of `devfs_handle_isdnX'
include/linux/isdn.h:639: warning: data definition has no type or storage class
include/linux/isdn.h:640: error: parse error before "devfs_handle_isdnctrlX"
include/linux/isdn.h:640: warning: type defaults to `int' in declaration of `devfs_handle_isdnctrlX'
include/linux/isdn.h:640: warning: data definition has no type or storage class
include/linux/isdn.h:642: error: parse error before "devfs_handle_ipppX"
include/linux/isdn.h:642: warning: type defaults to `int' in declaration of `devfs_handle_ipppX'
include/linux/isdn.h:642: warning: data definition has no type or storage class
include/linux/isdn.h:645: error: parse error before '}' token
include/linux/isdn.h:645: warning: type defaults to `int' in declaration of `isdn_dev'
include/linux/isdn.h:645: warning: data definition has no type or storage class
include/linux/isdn.h:647: error: parse error before '*' token
include/linux/isdn.h:647: warning: type defaults to `int' in declaration of `dev'
include/linux/isdn.h:647: warning: data definition has no type or storage class
drivers/isdn/capi/capidrv.c:2111:10: warning: #warning FIXME: maybe a
race condition the card should be removed here from global list /kkeil
make[3]: *** [drivers/isdn/capi/capidrv.o] Error 1
<-- snip -->
> Karsten Keil
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: 2.6.2-rc3 with isdn patch + devfs doesn't compile
2004-02-04 7:38 ` 2.6.2-rc3 with isdn patch + devfs doesn't compile Adrian Bunk
@ 2004-02-04 9:39 ` Karsten Keil
0 siblings, 0 replies; 12+ messages in thread
From: Karsten Keil @ 2004-02-04 9:39 UTC (permalink / raw)
To: isdn4linux; +Cc: linux-kernel
On Wed, Feb 04, 2004 at 08:38:12AM +0100, Adrian Bunk wrote:
> On Mon, Feb 02, 2004 at 08:51:39PM +0100, Karsten Keil wrote:
> > On Mon, Feb 02, 2004 at 02:02:56PM +0100, Todor Todorov wrote:
> > > Hello everyone,
> > >
> > > didn't find any more applicabale mailing list, so here it goes:
> > >
> >
> > try the actual I4L for 2.6 patch in
> > ftp://ftp.isdn4linux.de/pub/isdn4linux/kernel/v2.6
>
> FYI:
> I'm getting the following compile error in 2.6.2-rc3 with this patch
> applied and CONFIG_DEVFS_FS=n:
>
Thank you.
Next version of the patch will remove devfs support from I4L for 2.6
kernel versions.
--
Karsten Keil
SuSE Labs
ISDN development
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: oops in old isdn4linux and 2.6.2-rc3 (was in -rc2 too)
2004-02-03 7:48 ` Karsten Keil
@ 2004-02-05 22:59 ` Stian Jordet
0 siblings, 0 replies; 12+ messages in thread
From: Stian Jordet @ 2004-02-05 22:59 UTC (permalink / raw)
To: Karsten Keil; +Cc: Linux Kernel Mailing List
tir, 03.02.2004 kl. 08.48 skrev Karsten Keil:
> On Mon, Feb 02, 2004 at 11:00:13PM +0100, Marcel Holtmann wrote:
> > Hi Karsten,
> >
> > > try the actual I4L for 2.6 patch in
> > > ftp://ftp.isdn4linux.de/pub/isdn4linux/kernel/v2.6
> >
> > what is your current plan for including these patches into mainstream
> > once 2.6.2 is out?
> >
>
> Was sent to Linus a week ago, but no answer so far.
Now that 2.6.2 is out, and it still hasn't been applied, is it
inappropriate to beg you to resend it to Linus and/or Andrew? It is
really crucial for me, without this patch Hisax with TelesPCI support
won't even compile. And probably lots of others as well.
Thanks for your great work!
Best regards,
Stian
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: oops in old isdn4linux and 2.6.2-rc3 (was in -rc2 too)
2004-02-02 19:51 ` Karsten Keil
2004-02-02 22:00 ` Marcel Holtmann
2004-02-04 7:38 ` 2.6.2-rc3 with isdn patch + devfs doesn't compile Adrian Bunk
@ 2004-02-09 12:13 ` David Woodhouse
2004-02-10 1:53 ` David Woodhouse
2 siblings, 1 reply; 12+ messages in thread
From: David Woodhouse @ 2004-02-09 12:13 UTC (permalink / raw)
To: Karsten Keil; +Cc: linux-kernel
On Mon, 2004-02-02 at 20:51 +0100, Karsten Keil wrote:
> try the actual I4L for 2.6 patch in
> ftp://ftp.isdn4linux.de/pub/isdn4linux/kernel/v2.6
I applied isdn-2.6.2-rc2.diff.gz to 2.6.3-rc1 (actually to BK as of
about Friday). Works fine for dialup, including isdn_lzscomp, on SMP.
Dies horribly upon an incoming v.110 call though...
(akpm/linus please note v.110 is fairly esoteric and it won't even
_compile_ in 2.6 at the moment so this is not a reason not to merge
Karsten's patch, which does at least make ISDN usable again in 2.6)
NMI Watchdog detected LOCKUP on CPU1, eip f8a5cd65, registers:
CPU: 1
EIP: 0060:[<f8a5cd65>] Not tainted
EFLAGS: 00000086
EIP is at .text.lock.hfc_pci+0xfb/0x186 [hisax]
eax: f6531000 ebx: 00000120 ecx: 00000000 edx: f6288a40
esi: f6531614 edi: f652ac00 ebp: f6288a40 esp: f7f81b40
ds: 007b es: 007b ss: 0068
Process events/1 (pid: 7, threadinfo=f7f80000 task=f7f94ce0)
Stack: f6288800 00000028 c0224fea 00000097 f6531210 f652ac00 00000028 f6288800
f8a533e6 f652ac00 00000120 f6288a40 0000003c 00000020 f75b7810 f6d52000
f6288800 00000000 00000001 f89fb58f 00000000 00000001 00000001 f6288800
Call Trace:
[<c0224fea>] skb_clone+0xaa/0x180
[<f8a533e6>] HiSax_writebuf_skb+0x156/0x230 [hisax]
[<f89fb58f>] isdn_v110_stat_callback+0x2bf/0x330 [isdn]
[<f89fc57e>] isdn_status_callback+0x76e/0x8e0 [isdn]
[<f89fc09c>] isdn_status_callback+0x28c/0x8e0 [isdn]
[<c01b5937>] vsprintf+0x27/0x30
[<f8a52231>] ll_writewakeup+0x61/0xa0 [hisax]
[<c01b567d>] vsnprintf+0x23d/0x4a0
[<c011afea>] __wake_up_common+0x3a/0x60
[<f8a5af40>] hfcpci_fill_fifo+0x4e0/0x6a0 [hisax]
[<f8a5c2d2>] hfcpci_send_data+0x22/0x50 [hisax]
[<f8a5c5d5>] hfcpci_l2l1+0xa5/0x200 [hisax]
[<c0224fea>] skb_clone+0xaa/0x180
[<f8a533e6>] HiSax_writebuf_skb+0x156/0x230 [hisax]
[<f89fb3dc>] isdn_v110_stat_callback+0x10c/0x330 [isdn]
[<f89fc109>] isdn_status_callback+0x2f9/0x8e0 [isdn]
[<c01b567d>] vsnprintf+0x23d/0x4a0
[<f8a50370>] lli_go_active+0x0/0xd0 [hisax]
[<c01b5937>] vsprintf+0x27/0x30
[<f8a50370>] lli_go_active+0x0/0xd0 [hisax]
[<f8a4ff24>] link_debug+0x64/0x80 [hisax]
[<f8a50370>] lli_go_active+0x0/0xd0 [hisax]
[<f8a503e7>] lli_go_active+0x77/0xd0 [hisax]
[<f8a50370>] lli_go_active+0x0/0xd0 [hisax]
[<c01b5937>] vsprintf+0x27/0x30
[<f8a50370>] lli_go_active+0x0/0xd0 [hisax]
[<f8a51c60>] callc_debug+0x50/0x60 [hisax]
[<f8a44374>] l1m_debug+0x54/0x70 [hisax]
[<f8a53640>] FsmEvent+0x90/0xf0 [hisax]
[<f8a45130>] l1b_timer_act+0x0/0x40 [hisax]
[<f8a45164>] l1b_timer_act+0x34/0x40 [hisax]
[<f8a53640>] FsmEvent+0x90/0xf0 [hisax]
[<f8a448b4>] BChannel_proc_rcv+0xa4/0xb0 [hisax]
[<f8a4490d>] BChannel_bh+0x4d/0x50 [hisax]
[<c012edea>] worker_thread+0x1aa/0x220
[<f8a448c0>] BChannel_bh+0x0/0x50 [hisax]
[<c011af90>] default_wake_function+0x0/0x20
[<c0108e82>] ret_from_fork+0x6/0x14
[<c011af90>] default_wake_function+0x0/0x20
[<c012ec40>] worker_thread+0x0/0x220
[<c0106e69>] kernel_thread_helper+0x5/0xc
Code: 80 38 00 7e f9 e9 fe f7 ff ff f3 90 80 7e 34 00 7e f8 e9 07
console shuts up ...
--
dwmw2
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: oops in old isdn4linux and 2.6.2-rc3 (was in -rc2 too)
2004-02-09 12:13 ` oops in old isdn4linux and 2.6.2-rc3 (was in -rc2 too) David Woodhouse
@ 2004-02-10 1:53 ` David Woodhouse
2004-02-10 2:51 ` Karsten Keil
0 siblings, 1 reply; 12+ messages in thread
From: David Woodhouse @ 2004-02-10 1:53 UTC (permalink / raw)
To: Karsten Keil; +Cc: linux-kernel
On Mon, 2004-02-09 at 12:13 +0000, David Woodhouse wrote:
> Dies horribly upon an incoming v.110 call though...
> NMI Watchdog detected LOCKUP on CPU1, eip f8a5cd65, registers:
> CPU: 1
> EIP: 0060:[<f8a5cd65>] Not tainted
> EFLAGS: 00000086
> EIP is at .text.lock.hfc_pci+0xfb/0x186 [hisax]
This is line 1391 of hfc_pci.c, in hfcpci_l2l1().
It's trying to relock &bcs->cs->lock which is evidently already locked.
This is because isdn_v110_stat_callback() is being called with the
spinlock held when we've transmitted a skb... and it's trying to
transmit another immediately.
> eax: f6531000 ebx: 00000120 ecx: 00000000 edx: f6288a40
> esi: f6531614 edi: f652ac00 ebp: f6288a40 esp: f7f81b40
> ds: 007b es: 007b ss: 0068
> Process events/1 (pid: 7, threadinfo=f7f80000 task=f7f94ce0)
> Stack: f6288800 00000028 c0224fea 00000097 f6531210 f652ac00 00000028 f6288800
> f8a533e6 f652ac00 00000120 f6288a40 0000003c 00000020 f75b7810 f6d52000
> f6288800 00000000 00000001 f89fb58f 00000000 00000001 00000001 f6288800
> Call Trace:
<hfcpci_l2l1>
> [<f8a533e6>] HiSax_writebuf_skb+0x156/0x230 [hisax]
> [<f89fb58f>] isdn_v110_stat_callback+0x2bf/0x330 [isdn]
> [<f89fc57e>] isdn_status_callback+0x76e/0x8e0 [isdn]
> [<f89fc09c>] isdn_status_callback+0x28c/0x8e0 [isdn]
> [<f8a52231>] ll_writewakeup+0x61/0xa0 [hisax]
> [<f8a5af40>] hfcpci_fill_fifo+0x4e0/0x6a0 [hisax]
> [<f8a5c2d2>] hfcpci_send_data+0x22/0x50 [hisax]
> [<f8a5c5d5>] hfcpci_l2l1+0xa5/0x200 [hisax]
> [<f8a533e6>] HiSax_writebuf_skb+0x156/0x230 [hisax]
> [<f89fb3dc>] isdn_v110_stat_callback+0x10c/0x330 [isdn]
> [<f89fc109>] isdn_status_callback+0x2f9/0x8e0 [isdn]
I'm going to try an _evil_ hack like this...
--- drivers/isdn/hisax/hfc_pci.c.orig 2004-02-10 01:49:49.278608994 +0000
+++ drivers/isdn/hisax/hfc_pci.c 2004-02-10 01:50:15.404811276 +0000
@@ -597,7 +597,7 @@
u_char new_f1, *src, *dst;
unsigned short *z1t, *z2t;
- if (!bcs->tx_skb)
+ if (!bcs->tx_skb && !(bcs->tx_skb = skb_dequeue(&bcs->squeue)))
return;
if (bcs->tx_skb->len <= 0)
return;
@@ -1388,7 +1388,13 @@
switch (pr) {
case (PH_DATA | REQUEST):
- spin_lock_irqsave(&bcs->cs->lock, flags);
+ local_irq_save(flags);
+ if (!spin_trylock(&bcs->cs->lock)) {
+ /* Possible recursion. Queue it and return */
+ local_irq_restore(flags);
+ skb_queue_tail(&bcs->squeue, skb);
+ break;
+ }
if (bcs->tx_skb) {
skb_queue_tail(&bcs->squeue, skb);
} else {
--
dwmw2
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: oops in old isdn4linux and 2.6.2-rc3 (was in -rc2 too)
2004-02-10 1:53 ` David Woodhouse
@ 2004-02-10 2:51 ` Karsten Keil
2004-02-10 10:19 ` David Woodhouse
0 siblings, 1 reply; 12+ messages in thread
From: Karsten Keil @ 2004-02-10 2:51 UTC (permalink / raw)
To: linux-kernel
On Tue, Feb 10, 2004 at 01:53:42AM +0000, David Woodhouse wrote:
> On Mon, 2004-02-09 at 12:13 +0000, David Woodhouse wrote:
> > Dies horribly upon an incoming v.110 call though...
>
> > NMI Watchdog detected LOCKUP on CPU1, eip f8a5cd65, registers:
> > CPU: 1
> > EIP: 0060:[<f8a5cd65>] Not tainted
> > EFLAGS: 00000086
> > EIP is at .text.lock.hfc_pci+0xfb/0x186 [hisax]
>
> This is line 1391 of hfc_pci.c, in hfcpci_l2l1().
> It's trying to relock &bcs->cs->lock which is evidently already locked.
>
> This is because isdn_v110_stat_callback() is being called with the
> spinlock held when we've transmitted a skb... and it's trying to
> transmit another immediately.
Your analyse is correct, but the error is, that
ll_writewakeup is called with the lock.
Upper layers should not be called in this path.
>
> > eax: f6531000 ebx: 00000120 ecx: 00000000 edx: f6288a40
> > esi: f6531614 edi: f652ac00 ebp: f6288a40 esp: f7f81b40
> > ds: 007b es: 007b ss: 0068
> > Process events/1 (pid: 7, threadinfo=f7f80000 task=f7f94ce0)
> > Stack: f6288800 00000028 c0224fea 00000097 f6531210 f652ac00 00000028 f6288800
> > f8a533e6 f652ac00 00000120 f6288a40 0000003c 00000020 f75b7810 f6d52000
> > f6288800 00000000 00000001 f89fb58f 00000000 00000001 00000001 f6288800
> > Call Trace:
> <hfcpci_l2l1>
> > [<f8a533e6>] HiSax_writebuf_skb+0x156/0x230 [hisax]
> > [<f89fb58f>] isdn_v110_stat_callback+0x2bf/0x330 [isdn]
> > [<f89fc57e>] isdn_status_callback+0x76e/0x8e0 [isdn]
> > [<f89fc09c>] isdn_status_callback+0x28c/0x8e0 [isdn]
> > [<f8a52231>] ll_writewakeup+0x61/0xa0 [hisax]
> > [<f8a5af40>] hfcpci_fill_fifo+0x4e0/0x6a0 [hisax]
> > [<f8a5c2d2>] hfcpci_send_data+0x22/0x50 [hisax]
> > [<f8a5c5d5>] hfcpci_l2l1+0xa5/0x200 [hisax]
> > [<f8a533e6>] HiSax_writebuf_skb+0x156/0x230 [hisax]
> > [<f89fb3dc>] isdn_v110_stat_callback+0x10c/0x330 [isdn]
> > [<f89fc109>] isdn_status_callback+0x2f9/0x8e0 [isdn]
>
> I'm going to try an _evil_ hack like this...
>
Yes this should help you for the moment.
> --- drivers/isdn/hisax/hfc_pci.c.orig 2004-02-10 01:49:49.278608994 +0000
> +++ drivers/isdn/hisax/hfc_pci.c 2004-02-10 01:50:15.404811276 +0000
> @@ -597,7 +597,7 @@
> u_char new_f1, *src, *dst;
> unsigned short *z1t, *z2t;
>
> - if (!bcs->tx_skb)
> + if (!bcs->tx_skb && !(bcs->tx_skb = skb_dequeue(&bcs->squeue)))
> return;
> if (bcs->tx_skb->len <= 0)
> return;
> @@ -1388,7 +1388,13 @@
>
> switch (pr) {
> case (PH_DATA | REQUEST):
> - spin_lock_irqsave(&bcs->cs->lock, flags);
> + local_irq_save(flags);
> + if (!spin_trylock(&bcs->cs->lock)) {
> + /* Possible recursion. Queue it and return */
> + local_irq_restore(flags);
> + skb_queue_tail(&bcs->squeue, skb);
> + break;
> + }
> if (bcs->tx_skb) {
> skb_queue_tail(&bcs->squeue, skb);
> } else {
>
>
> --
> dwmw2
>
--
Karsten Keil
SuSE Labs
ISDN development
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: oops in old isdn4linux and 2.6.2-rc3 (was in -rc2 too)
2004-02-10 2:51 ` Karsten Keil
@ 2004-02-10 10:19 ` David Woodhouse
2004-02-10 11:45 ` Karsten Keil
0 siblings, 1 reply; 12+ messages in thread
From: David Woodhouse @ 2004-02-10 10:19 UTC (permalink / raw)
To: Karsten Keil; +Cc: linux-kernel
On Tue, 2004-02-10 at 03:51 +0100, Karsten Keil wrote:
> Your analyse is correct, but the error is, that
> ll_writewakeup is called with the lock.
> Upper layers should not be called in this path.
That's an evidently sensible answer, yes -- but it looks like it's
always been like this, and fixing it really wasn't not a task I
particularly wanted to undertake at 2am this morning... I think I might
leave that to you :)
--
dwmw2
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: oops in old isdn4linux and 2.6.2-rc3 (was in -rc2 too)
2004-02-10 10:19 ` David Woodhouse
@ 2004-02-10 11:45 ` Karsten Keil
0 siblings, 0 replies; 12+ messages in thread
From: Karsten Keil @ 2004-02-10 11:45 UTC (permalink / raw)
To: linux-kernel
On Tue, Feb 10, 2004 at 10:19:11AM +0000, David Woodhouse wrote:
> On Tue, 2004-02-10 at 03:51 +0100, Karsten Keil wrote:
> > Your analyse is correct, but the error is, that
> > ll_writewakeup is called with the lock.
> > Upper layers should not be called in this path.
>
> That's an evidently sensible answer, yes -- but it looks like it's
> always been like this, and fixing it really wasn't not a task I
> particularly wanted to undertake at 2am this morning... I think I might
> leave that to you :)
I don't want give you the impression of a "evidently sensible answer",
(maybe ist was also a little bit late or early ... :-)
I only want to point out that here is a deeper design flaw in this code
and it is here for a long time, but the old none spinlock code
with a big CLI (bad,bad,bad) make it working well enough. During
porting I saw this problem, but forget to mark it for fixing later.
These things (missing separation of layers) was one reason for me to
begin a new driver from scratch some time ago (mISDN).
--
Karsten Keil
SuSE Labs
ISDN development
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2004-02-10 11:45 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-02-02 13:02 oops in old isdn4linux and 2.6.2-rc3 (was in -rc2 too) Todor Todorov
2004-02-02 19:51 ` Karsten Keil
2004-02-02 22:00 ` Marcel Holtmann
2004-02-03 7:48 ` Karsten Keil
2004-02-05 22:59 ` Stian Jordet
2004-02-04 7:38 ` 2.6.2-rc3 with isdn patch + devfs doesn't compile Adrian Bunk
2004-02-04 9:39 ` Karsten Keil
2004-02-09 12:13 ` oops in old isdn4linux and 2.6.2-rc3 (was in -rc2 too) David Woodhouse
2004-02-10 1:53 ` David Woodhouse
2004-02-10 2:51 ` Karsten Keil
2004-02-10 10:19 ` David Woodhouse
2004-02-10 11:45 ` Karsten Keil
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.