kernel panic with pccard insert on recent 7.0 CURRENT
Dan Nelson
dnelson at allantgroup.com
Sat Jun 16 20:35:13 UTC 2007
In the last episode (Jun 16), Hidetoshi Shimokawa said:
> On 6/16/07, ?????? <wsk at gddsn.org.cn> wrote:
> > i always get Fatal trap while insert a pccard with recent 7.0
> > current. It seems that Can't recognize the pccard address? thanks
> > with any reply.
> >
> > Fatal trap 12: page fault while in kernel mode
> > cpuid = 0; apic id = 00
> > fault virtual address = 0x0
> > fault code = supervisor read, page not present
> > instruction pointer = 0x20:0x0
> > stack pointer = 0x28:0xe2996cb0
> > frame pointer = 0x28:0xe2996cb8
> > code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1
> > processor eflags = interrupt enable, resume, IOPL = 0
> > current process = 21 (irq11: cbb0 cbb1+*)
>
> I think the following patch fix the problem.
I was waiting for a debugging build to finish so I could try and
diagnose the same panic on my laptop, when I saw this post, so I
applied the patch instead :) It works for me.
> RCS file: /home/ncvs/src/sys/dev/pccard/pccard.c,v
> retrieving revision 1.118
> diff -u -r1.118 pccard.c
> --- pccard.c 31 May 2007 19:29:20 -0000 1.118
> +++ pccard.c 16 Jun 2007 12:23:35 -0000
> @@ -1238,7 +1238,7 @@
> if (pf->intr_filter != NULL || pf->intr_handler != NULL)
> panic("Only one interrupt handler per function allowed");
> err = bus_generic_setup_intr(dev, child, irq, flags, pccard_filter,
> - pccard_intr, pf, cookiep);
> + intr ? pccard_intr : NULL, pf, cookiep);
> if (err != 0)
> return (err);
> pf->intr_filter = filt;
>
--
Dan Nelson
dnelson at allantgroup.com
More information about the freebsd-mobile
mailing list