kernel panic with pccard insert on recent 7.0 CURRENT

Dan Nelson dnelson at allantgroup.com
Sat Jun 16 20:00:15 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-current mailing list