From owner-freebsd-mobile@FreeBSD.ORG Sat Jun 16 20:35:12 2007 Return-Path: X-Original-To: mobile@freebsd.org Delivered-To: freebsd-mobile@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DEE9216A400; Sat, 16 Jun 2007 20:35:12 +0000 (UTC) (envelope-from dan@dan.emsphone.com) Received: from dan.emsphone.com (dan.emsphone.com [199.67.51.101]) by mx1.freebsd.org (Postfix) with ESMTP id 4445113C48A; Sat, 16 Jun 2007 20:34:51 +0000 (UTC) (envelope-from dan@dan.emsphone.com) Received: (from dan@localhost) by dan.emsphone.com (8.14.1/8.13.8) id l5GJxdDu078393; Sat, 16 Jun 2007 14:59:39 -0500 (CDT) (envelope-from dan) Date: Sat, 16 Jun 2007 14:59:39 -0500 From: Dan Nelson To: Hidetoshi Shimokawa Message-ID: <20070616195939.GE30806@dan.emsphone.com> References: <46734A3E.3010903@gddsn.org.cn> <626eb4530706160525o54234621s2de098e64cdeb4fe@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <626eb4530706160525o54234621s2de098e64cdeb4fe@mail.gmail.com> X-OS: FreeBSD 6.2-STABLE User-Agent: Mutt/1.5.15 (2007-04-06) Cc: current@freebsd.org, ?????? , mobile@freebsd.org Subject: Re: kernel panic with pccard insert on recent 7.0 CURRENT X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jun 2007 20:35:13 -0000 In the last episode (Jun 16), Hidetoshi Shimokawa said: > On 6/16/07, ?????? 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