Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Jun 2007 14:59:39 -0500
From:      Dan Nelson <dnelson@allantgroup.com>
To:        Hidetoshi Shimokawa <simokawa@freebsd.org>
Cc:        current@freebsd.org, ?????? <wsk@gddsn.org.cn>, mobile@freebsd.org
Subject:   Re: kernel panic with pccard insert on recent 7.0 CURRENT
Message-ID:  <20070616195939.GE30806@dan.emsphone.com>
In-Reply-To: <626eb4530706160525o54234621s2de098e64cdeb4fe@mail.gmail.com>
References:  <46734A3E.3010903@gddsn.org.cn> <626eb4530706160525o54234621s2de098e64cdeb4fe@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Jun 16), Hidetoshi Shimokawa said:
>  On 6/16/07, ?????? <wsk@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@allantgroup.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070616195939.GE30806>