Date: Wed, 4 Jan 2006 08:40:07 -0500 From: John Baldwin <jhb@freebsd.org> To: freebsd-current@freebsd.org Cc: Warner Losh <imp@freebsd.org>, "Alexandre \"Sunny\" Kovalenko" <Alex.Kovalenko@verizon.net> Subject: Re: Fatal trap 12 when inserting Linksys WPC55AG cardbus card on 12/30 -CURRENT Message-ID: <200601040840.09169.jhb@freebsd.org> In-Reply-To: <1136000459.660.12.camel@RabbitsDen> References: <1136000459.660.12.camel@RabbitsDen>
next in thread | previous in thread | raw e-mail | index | archive | help
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=3D0x00000000, state=3D30000821 > cbb0: cbb_power: 3V > Interrupt storm detected on "irq10:"; throttling interrupt source > > > Fatal trap 12: page fault while in kernel mode > fault virtual address =3D 0xda183000 > fault code =3D supervisor read, page not present > instruction pointer =3D 0x20:0xc04ac0f8 > stack pointer =3D 0x28:0xd8b62728 > frame pointer =3D 0x28:0xd8b62738 > code segment =3D base 0x0, limit 0xfffff, type 0x1b > =3D DPL 0, pres 1, def32 1, gran 1 > processor eflags =3D interrupt enabled, resume, IOPL =3D 0 > current process =3D 21 (cbb0) Does this still occur on recent HEAD? There have been several cardbus chan= ges=20 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=3D0, dummy2=3D0, dummy3=3D1999, > dummy4=3D0xd8b624e0 at /usr/src/sys/ddb/db_command.c:489 > #2 0xc04717a2 in db_command (last_cmdp=3D0xc07b70c4, cmd_table=3D0x0, > aux_cmd_tablep=3D0xc077d288, aux_cmd_tablep_end=3D0xc077d28c) > 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=3D12, code=3D0) > at /usr/src/sys/ddb/db_main.c:221 > #5 0xc05764f7 in kdb_trap (type=3D0, code=3D0, tf=3D0xd8b626e8) > at /usr/src/sys/kern/subr_kdb.c:485 > #6 0xc0721a8b in trap_fatal (frame=3D0xd8b626e8, eva=3D0) > at /usr/src/sys/i386/i386/trap.c:853 > #7 0xc0721795 in trap_pfault (frame=3D0xd8b626e8, usermode=3D0, > eva=3D3659018240) > at /usr/src/sys/i386/i386/trap.c:770 > #8 0xc07212f2 in trap (frame=3D > {tf_fs =3D 8, tf_es =3D 40, tf_ds =3D 40, tf_edi =3D 20480, tf_esi = =3D 1, > tf_ebp =3D -659151048, tf_isp =3D -659151084, tf_ebx =3D -65 9150952, tf_= edx =3D > -635969536, tf_ecx =3D -635969536, tf_eax =3D 20480, tf_trapno =3D 12, tf= _err > =3D 0, tf_eip =3D -1068842760, tf_cs =3D 32, tf_eflags =3D 66050, tf_esp = =3D > -1009411456, tf_ss =3D -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=3D0xc39f9680, > res=3D0xd8b62798, start=3D20480, > off=3D0xd8b62798, tupleid=3D0x5000, len=3D0xd8b627a0, tupledata=3D0xd= 8b627ac > "") at bus.h:224 > #11 0xc04ac1f3 in cardbus_read_tuple (cbdev=3D0xc39f9680, child=3D0x5000, > res=3D0xda17e000, > start=3D20480, off=3D0xd8b62798, tupleid=3D0xd8b6279c, len=3D0xda17e0= 00, > tupledata=3D0x5000 <Address 0x5000 out of bounds>) > at /usr/src/sys/dev/cardbus/cardbus_cis.c:458 > #12 0xc04aca95 in cardbus_parse_cis (cbdev=3D0xc39f9680, child=3D0xc3d59b= 00, > callbacks=3D0xd8b62bd0, argp=3D0x0) > at /usr/src/sys/dev/cardbus/cardbus_cis.c:645 > #13 0xc04acb96 in cardbus_do_cis (cbdev=3D0x5000, child=3D0x5000) > at /usr/src/sys/dev/cardbus/cardbus_cis.c:691 > #14 0xc04ab17d in cardbus_attach_card (cbdev=3D0xc39f9680) > at /usr/src/sys/dev/cardbus/cardbus.c:499 > #15 0xc04d246f in cbb_insert (sc=3D0xc39b4000) at card_if.h:82 > #16 0xc04d21eb in cbb_event_thread (arg=3D0xc39b4000) > at /usr/src/sys/dev/pccbb/pccbb.c:507 > #17 0xc053b2bf in fork_exit (callout=3D0xc04d2080 <cbb_event_thread>, > arg=3D0x5000, > frame=3D0x5000) 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=3D0x00000000, state=3D30000821 > 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@pci0:10:0: class=3D0x060700 card=3D0xc60214ff chip=3D0x69721217 rev= =3D0x00 > hdr=3D0x02 > vendor =3D 'O2 Micro Inc' > device =3D 'OZ6912/711E0 SmartCardBus Controller' > class =3D bridge > subclass =3D 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. =2D-=20 John Baldwin <jhb@FreeBSD.org> =A0<>< =A0http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" =A0=3D =A0http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601040840.09169.jhb>