oops booting 2.3.16 on alpha (isdn related??)

Thorsten Kranzkowski (th@Marvin.DL8BCU.ampr.org)
Wed, 1 Sep 1999 21:33:06 +0000


Hello!
It seems that this is related to the ISDN code but I'm a bit uncertain
about that.

When I try to boot 2.3.16 on my AXPpci33 I get the following oops (written by
hand, hopefully no mistake...):

AVM Fritz PnP/PCI: IRQ 14 count 0
AVM Fritz PnP/PCI: IRQ(14) getting no interrupts during init 3
kmem_free: Bad obj addr (objp=fffffc000001cb00, name=size-128)
swapper(1): Kernel Bug 1
pc = [<fffffc000033df84>] ra = [<fffffc000033df78>] ps = 0007
r0 = 0000000000000007 r1 = 0000000000000001 r2 = 0000000000000000
r3 = 0000000000000001 r4 = fffffc0000612500 r5 = fffffc000063c6c0
r6 = fffffc0000611d30 r7 = 0000000000000000 r8 = fffffc0000004000
r16= 0000000000000007 r17= fffffc00005d2fa8 r18= fffffc00005d2fa8
r19= 0000000000000001 r20= 00000000000000a0 r21= 0000000000000000
r22= 0000000000000800 r23= fffffc0000611d80 r24= fffffc0000611da0
r25= 0000000000003fff r27= fffffc000031f7c0 r28= fffffc0000614310
gp = fffffc0000604c90 sp = fffffc0000007a80
Code: 47e90410 00000035 00000081 <c3e00008> 47ff041f 2fe00000 a61dd318 a77da580 6b5b5891
Trace: [<fffffc0000495528>] [<fffffc000054aee4>] [<fffffc000042879c>] [<fffffc00004b4cf4>] [<fffffc000042a208>] [<fffffc000042f64c>] [<fffffc0000324538>] [<fffffc0000324538>] [<fffffc00004b50f8>] [<fffffc00004b4e94>] [<fffffc00004d3178>] [<fffffc000032c720>] [<fffffc00004d63f8>] [<fffffc00004b4e84>] [<fffffc00004b55a0>] [<fffffc00004b5820>] [<fffffc00004b5ecc>] [<fffffc0000499754>] [<fffffc00004d5641>] [<fffffc00004b5ebc>] [<fffffc00004a8d18>] [<fffffc0000499c28>] [<fffffc0000310000>] [<fffffc0000310220>] [<fffffc0000310220>] [<fffffc0000310238>] [<fffffc00003107d0>] [<fffffc0000310220>] [<fffffc00003107a4>] [<fffffc0000310778>] [<fffffc00003107a4>]

------------------------------------------------------------------------------
ksymoops 0.7c on alpha 2.3.10. Options used
-v /usr/src/linux-2.3.16/vmlinux (specified)
-K (specified)
-L (specified)
-O (specified)
-m /usr/src/linux-2.3.16/System.map (specified)

swapper(1): Kernel Bug 1
pc = [<fffffc000033df84>] ra = [<fffffc000033df78>] ps = 0007
Using defaults from ksymoops -t elf64-alpha -a alpha
r0 = 0000000000000007 r1 = 0000000000000001 r2 = 0000000000000000
r3 = 0000000000000001 r4 = fffffc0000612500 r5 = fffffc000063c6c0
r6 = fffffc0000611d30 r7 = 0000000000000000 r8 = fffffc0000004000
r16= 0000000000000007 r17= fffffc00005d2fa8 r18= fffffc00005d2fa8
r19= 0000000000000001 r20= 00000000000000a0 r21= 0000000000000000
r22= 0000000000000800 r23= fffffc0000611d80 r24= fffffc0000611da0
r25= 0000000000003fff r27= fffffc000031f7c0 r28= fffffc0000614310
gp = fffffc0000604c90 sp = fffffc0000007a80
Code: 47e90410 00000035 00000081 <c3e00008> 47ff041f 2fe00000 a61dd318 a77da580 6b5b5891

>>PC; fffffc000033df84 <kfree+284/2c0> <=====
Code; fffffc000033df78 <kfree+278/2c0>
0000000000000000 <_PC>:
Code; fffffc000033df78 <kfree+278/2c0>
0: 10 04 e9 47 mov s0,a0
Code; fffffc000033df7c <kfree+27c/2c0>
4: 35 00 00 00 call_pal 0x35
Code; fffffc000033df80 <kfree+280/2c0>
8: 81 00 00 00 call_pal 0x81
Code; fffffc000033df84 <kfree+284/2c0> <=====
c: 08 00 e0 c3 br 30 <_PC+0x30> fffffc000033dfa8 <kfree+2a8/2c0> <=====
Code; fffffc000033df88 <kfree+288/2c0>
10: 1f 04 ff 47 nop
Code; fffffc000033df8c <kfree+28c/2c0>
14: 00 00 e0 2f unop
Code; fffffc000033df90 <kfree+290/2c0>
18: 18 d3 1d a6 ldq a0,-11496(gp)
Code; fffffc000033df94 <kfree+294/2c0>
1c: 80 a5 7d a7 ldq t12,-23168(gp)
Code; fffffc000033df98 <kfree+298/2c0>
20: 91 58 5b 6b jsr ra,(t12),6268 <_PC+0x6268> fffffc00003441e0 <do_close+0/100>

Trace: [<fffffc0000495528>] [<fffffc000054aee4>] [<fffffc000042879c>] [<fffffc00004b4cf4>] [<fffffc000042a208>] [<fffffc000042f64c>] [<fffffc0000324538>] [<fffffc0000324538>] [<fffffc00004b50f8>] [<fffffc00004b4e94>] [<fffffc00004d3178>] [<fffffc000032c720>] [<fffffc00004d63f8>] [<fffffc00004b4e84>] [<fffffc00004b55a0>] [<fffffc00004b5820>] [<fffffc00004b5ecc>] [<fffffc0000499754>] [<fffffc00004d5641>] [<fffffc00004b5ebc>] [<fffffc00004a8d18>] [<fffffc0000499c28>] [<fffffc0000310000>] [<fffffc0000310220>] [<fffffc0000310220>] [<fffffc0000310238>] [<fffffc00003107d0>] [<fffffc0000310220>] [<fffffc00003107a4>] [<fffffc0000310778>] [<fffffc00003107a4>]
Warning (Oops_read): Code line not seen, dumping what data is available

Trace; fffffc0000495528 <isdn_status_callback+cc8/de0>
Trace; fffffc000054aee4 <vgacon_scroll+4e4/5e0>
Trace; fffffc000042879c <scrup+bc/2a0>
Trace; fffffc00004b4cf4 <ll_unload+34/a0>
Trace; fffffc000042a208 <set_cursor+c8/100>
Trace; fffffc000042f64c <vt_console_print+46c/4c0>
Trace; fffffc0000324538 <printk+358/3a0>
Trace; fffffc0000324538 <printk+358/3a0>
Trace; fffffc00004b50f8 <init_card+238/2e0>
Trace; fffffc00004b4e94 <closecard+134/160>
Trace; fffffc00004d3178 <modehdlc+b8/220>
Trace; fffffc000032c720 <__release_region+40/e0>
Trace; fffffc00004d63f8 <AVM_card_msg+98/160>
Trace; fffffc00004b4e84 <closecard+124/160>
Trace; fffffc00004b55a0 <checkcard+400/4a0>
Trace; fffffc00004b5820 <HiSax_inithardware+180/240>
Trace; fffffc00004b5ecc <HiSax_init+18c/220>
Trace; fffffc0000499754 <isdn_init+114/620>
Trace; fffffc00004d5641 <avm_pcipnp_interrupt+1561/2140>
Trace; fffffc00004b5ebc <HiSax_init+17c/220>
Trace; fffffc00004a8d18 <isdn_cards_init+18/40>
Trace; fffffc0000499c28 <isdn_init+5e8/620>
Trace; fffffc0000310000 <_text+0/0>
Trace; fffffc0000310220 <init+0/1e0>
Trace; fffffc0000310220 <init+0/1e0>
Trace; fffffc0000310238 <init+18/1e0>
Trace; fffffc00003107d0 <kernel_thread+58/70>
Trace; fffffc0000310220 <init+0/1e0>
Trace; fffffc00003107a4 <kernel_thread+2c/70>
Trace; fffffc0000310778 <kernel_thread+0/70>
Trace; fffffc00003107a4 <kernel_thread+2c/70>

1 warning issued. Results may not be reliable.

--------------------------------------------------------------------------
with 2.3.10 the relevant part reads:

Sep 1 16:15:13 Marvin kernel: HiSax: Total 1 card defined
Sep 1 16:15:13 Marvin kernel: HiSax: Card 1 Protocol EDSS1 Id=AVM (0)
Sep 1 16:15:13 Marvin kernel: HiSax: AVM PCI driver Rev. 1.7
Sep 1 16:15:13 Marvin kernel: AVM PCI: stat 0x2020a
Sep 1 16:15:13 Marvin kernel: AVM PCI: Class A Rev 2
Sep 1 16:15:13 Marvin kernel: HiSax: AVM Fritz!PCI config irq:14 base:0x8800
Sep 1 16:15:13 Marvin kernel: AVM PCI: ISAC version (0): 2086/2186 V1.1
Sep 1 16:15:13 Marvin kernel: AVM Fritz PnP/PCI: IRQ 14 count 0
Sep 1 16:15:13 Marvin kernel: AVM Fritz PnP/PCI: IRQ 14 count 4
Sep 1 16:15:13 Marvin kernel: HiSax: DSS1 Rev. 2.12
Sep 1 16:15:13 Marvin kernel: HiSax: 2 channels added
Sep 1 16:15:13 Marvin kernel: ftape v3.04d 25/11/97 for Linux 2.3.10

--------------------------------------------------------------------------

IRQ 14 is correct, as I don't use IDE (see patch #4 below).

/proc/interrupts (on 2.3.10):

0: 6816678 timer
1: 8424 keyboard
3: 662803 +baycom_ser_fdx
4: 71 +serial
5: 889 +serial
8: 0 +rtc
9: 1424 eth0
10: 1 soundblaster
11: 5196 ncr53c8xx
14: 6507 HiSax
15: 935 +serial

--------------------------------------------------------------------------

I've applied the following patches:

1) this one was posted by Alan Cox IIRC, it makes gdb working again.
I have not checked whether I still need it in 2.3.16.

--- linux-2.3.16/kernel/ptrace.c.orig Wed Sep 1 11:35:52 1999
+++ linux-2.3.16/kernel/ptrace.c Wed Sep 1 11:35:56 1999
@@ -39,6 +39,8 @@
pgtable = pte_offset(pgmiddle, addr);
if (!pte_present(*pgtable))
goto fault_in_page;
+ if (write && !pte_write(*pgtable))
+ goto fault_in_page;
page = pte_page(*pgtable);
if (write && (!pte_write(*pgtable) || !pte_dirty(*pgtable)))
goto fault_in_page;

2) This one made a compile error go away (patterned after the i386 version)

--- linux-2.3.16/include/asm-alpha/serial.h.orig Wed Sep 1 13:42:27 1999
+++ linux-2.3.16/include/asm-alpha/serial.h Wed Sep 1 13:43:00 1999
@@ -26,7 +26,11 @@
#define FOURPORT_FLAGS ASYNC_FOURPORT
#define ACCENT_FLAGS 0
#define BOCA_FLAGS 0
+#define RS_TABLE_SIZE 64
+#else
+#define RS_TABLE_SIZE
#endif
+

#define STD_SERIAL_PORT_DEFNS \
/* UART CLK PORT IRQ FLAGS */ \

3) This cured (kind of...) another compile error. As there is no S3 card
on my AXP I assume this will never be executed.

--- linux-2.3.16/drivers/pci/quirks.c.orig Wed Sep 1 15:28:13 1999
+++ linux-2.3.16/drivers/pci/quirks.c Wed Sep 1 15:32:17 1999
@@ -70,10 +70,12 @@
printk("PCI: Re-allocating buggy S3 card at %s: ", dev->name);
r->start = 0;
r->end = 0x3ffffff;
+#ifdef UNDEFINED_REFERENCE_ON_LINK
if (pcibios_assign_resource(dev, 0))
printk("FAILED\n");
else
printk("moved to %08lx\n", r->start);
+#endif
}
}

4) This one should make sure that irq 15 (used by my isa multiserial card) is
not occupied by _any_ PCI device. I'm also not shure whether I still need it
but a similar patch works in 2.3.10.

--- linux-2.3.16/arch/alpha/kernel/sys_sio.c.orig Wed Sep 1 11:51:12 1999
+++ linux-2.3.16/arch/alpha/kernel/sys_sio.c Wed Sep 1 11:59:36 1999
@@ -407,7 +407,11 @@
they are co-indicated when the platform type "Noname" is
selected... :-( */

+#if 0
route_tab: 0x0b0a0f0d,
+#else
+ route_tab: 0x0b00000e,
+#endif
}}
};
ALIAS_MV(noname)

------------------------------------------------------------------------------
System is Alpha AXPpci33
gcc 2.95
no modules
AVM Fritz PCI isdn card
ATI Xpert@play PCI graphics

Bye,
Thorsten

-- 
| Thorsten Kranzkowski            Snail: Niemannsweg 30, 49201 Dissen, Germany |
| Mobile: ++49 161 7210230         Inet: dl8bcu@gmx.net                        |
| Ampr: dl8bcu@db0nei.#nrw.deu.eu, dl8bcu@marvin.dl8bcu.ampr.org [44.130.8.19] |

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/