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>
