Re: Fatal trap 12 when inserting Linksys WPC55AG cardbus card on 12/30 -CURRENT

From: John Baldwin <jhb_at_freebsd.org>
Date: Wed, 4 Jan 2006 08:40:07 -0500
On Friday 30 December 2005 10:40 pm, Alexandre "Sunny" Kovalenko wrote:
> This happens on -CURRENT as of 8:00AM, December 30:
>
> Unread portion of the kernel message buffer:
> Status is 0x30000821 d8bb0000
> cbb0: card inserted: event=0x00000000, state=30000821
> cbb0: cbb_power: 3V
> Interrupt storm detected on "irq10:"; throttling interrupt source
>
>
> Fatal trap 12: page fault while in kernel mode
> fault virtual address   = 0xda183000
> fault code              = supervisor read, page not present
> instruction pointer     = 0x20:0xc04ac0f8
> stack pointer           = 0x28:0xd8b62728
> frame pointer           = 0x28:0xd8b62738
> code segment            = base 0x0, limit 0xfffff, type 0x1b
>                         = DPL 0, pres 1, def32 1, gran 1
> processor eflags        = interrupt enabled, resume, IOPL = 0
> current process         = 21 (cbb0)

Does this still occur on recent HEAD?  There have been several cardbus changes 
in the past few days.

> Dumping 607 MB (2 chunks)
>   chunk 0: 1MB (159 pages) ... ok
>   chunk 1: 607MB (155376 pages) 591 575 559 543 527 511 495 479 463 447
> 431 415 399 383 367 351 335 319 303 287 271 255 239 223 207 191 175 159
> 143 127 111 95 79 63 47 31 15
>
> #0  doadump () at pcpu.h:166
> 166     pcpu.h: No such file or directory.
>         in pcpu.h
> #0  doadump () at pcpu.h:166
> #1  0xc0471a29 in db_fncall (dummy1=0, dummy2=0, dummy3=1999,
> dummy4=0xd8b624e0 at /usr/src/sys/ddb/db_command.c:489
> #2  0xc04717a2 in db_command (last_cmdp=0xc07b70c4, cmd_table=0x0,
>     aux_cmd_tablep=0xc077d288, aux_cmd_tablep_end=0xc077d28c)
>     at /usr/src/sys/ddb/db_command.c:404
> #3  0xc04718aa in db_command_loop ()
> at /usr/src/sys/ddb/db_command.c:455
> #4  0xc04739b5 in db_trap (type=12, code=0)
> at /usr/src/sys/ddb/db_main.c:221
> #5  0xc05764f7 in kdb_trap (type=0, code=0, tf=0xd8b626e8)
>     at /usr/src/sys/kern/subr_kdb.c:485
> #6  0xc0721a8b in trap_fatal (frame=0xd8b626e8, eva=0)
>     at /usr/src/sys/i386/i386/trap.c:853
> #7  0xc0721795 in trap_pfault (frame=0xd8b626e8, usermode=0,
> eva=3659018240)
>     at /usr/src/sys/i386/i386/trap.c:770
> #8  0xc07212f2 in trap (frame=
>       {tf_fs = 8, tf_es = 40, tf_ds = 40, tf_edi = 20480, tf_esi = 1,
> tf_ebp = -659151048, tf_isp = -659151084, tf_ebx = -65 9150952, tf_edx =
> -635969536, tf_ecx = -635969536, tf_eax = 20480, tf_trapno = 12, tf_err
> = 0, tf_eip = -1068842760, tf_cs = 32, tf_eflags = 66050, tf_esp =
> -1009411456, tf_ss = -659150948}) at /usr/src/sys/i386/i386/trap.c:455#9
> 0xc070dc9a in calltrap () at /usr/src/sys/i386/i386/exception.s:137
> #10 0xc04ac0f8 in cardbus_read_tuple_mem (cbdev=0xc39f9680,
> res=0xd8b62798, start=20480,
>     off=0xd8b62798, tupleid=0x5000, len=0xd8b627a0, tupledata=0xd8b627ac
> "") at bus.h:224
> #11 0xc04ac1f3 in cardbus_read_tuple (cbdev=0xc39f9680, child=0x5000,
> res=0xda17e000,
>     start=20480, off=0xd8b62798, tupleid=0xd8b6279c, len=0xda17e000,
>     tupledata=0x5000 <Address 0x5000 out of bounds>)
>     at /usr/src/sys/dev/cardbus/cardbus_cis.c:458
> #12 0xc04aca95 in cardbus_parse_cis (cbdev=0xc39f9680, child=0xc3d59b00,
>     callbacks=0xd8b62bd0, argp=0x0)
> at /usr/src/sys/dev/cardbus/cardbus_cis.c:645
> #13 0xc04acb96 in cardbus_do_cis (cbdev=0x5000, child=0x5000)
>     at /usr/src/sys/dev/cardbus/cardbus_cis.c:691
> #14 0xc04ab17d in cardbus_attach_card (cbdev=0xc39f9680)
>     at /usr/src/sys/dev/cardbus/cardbus.c:499
> #15 0xc04d246f in cbb_insert (sc=0xc39b4000) at card_if.h:82
> #16 0xc04d21eb in cbb_event_thread (arg=0xc39b4000)
> at /usr/src/sys/dev/pccbb/pccbb.c:507
> #17 0xc053b2bf in fork_exit (callout=0xc04d2080 <cbb_event_thread>,
> arg=0x5000,
>     frame=0x5000) at /usr/src/sys/kern/kern_fork.c:790
> #18 0xc070dcfc in fork_trampoline ()
> at /usr/src/sys/i386/i386/exception.s:198
> (kgdb)
>
> On the kernel built on December 17 (not necessarily -CURRENT as of
> December 17) card works properly. Here are dmesg bits from card
> insertion:
>
> Status is 0x30000821
> cbb0: card inserted: event=0x00000000, state=30000821
> cbb0: cbb_power: 3V
> Interrupt storm detected on "irq10:"; throttling interrupt source
> cardbus0: Non-prefetchable memory at 88000000-8800ffff
> ath0: <Atheros 5212> mem 0x88000000-0x8800ffff irq 10 at device 0.0 on
> cardbus0
> ath0: Ethernet address: 00:0c:41:dd:c7:0d
> ath0: mac 5.6 phy 4.1 radio 3.6
>
> Cardbus controller is:
>
> cbb0_at_pci0:10:0: class=0x060700 card=0xc60214ff chip=0x69721217 rev=0x00
> hdr=0x02
>     vendor   = 'O2 Micro Inc'
>     device   = 'OZ6912/711E0 SmartCardBus Controller'
>     class    = bridge
>     subclass = PCI-CardBus
>
> PCMCIA-to-CF adapter does not cause Fatal trap.
>
> If there are any other bits of information I can provide, please, let me
> know.

-- 
John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
Received on Wed Jan 04 2006 - 12:40:25 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:50 UTC