From owner-freebsd-current@FreeBSD.ORG Wed Nov 18 19:58:07 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6CE4E10656A5 for ; Wed, 18 Nov 2009 19:58:07 +0000 (UTC) (envelope-from hselasky@freebsd.org) Received: from swip.net (mailfe12.swipnet.se [212.247.155.97]) by mx1.freebsd.org (Postfix) with ESMTP id F1F858FC0A for ; Wed, 18 Nov 2009 19:58:06 +0000 (UTC) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=MnI1ikcADjEx7bvsp0jZvQ==:17 a=95yc-vNLuiYe651KPqsA:9 a=tO1Tdnpnr50_n6xx_KQA:7 a=IESemd89OBIrTjo0RNZLMmFoE08A:4 Received: from [188.126.201.140] (account mc467741@c2i.net HELO laptop.adsl.tele2.no) by mailfe12.swip.net (CommuniGate Pro SMTP 5.2.16) with ESMTPA id 1148121268 for freebsd-current@freebsd.org; Wed, 18 Nov 2009 20:58:05 +0100 Received-SPF: softfail receiver=mailfe12.swip.net; client-ip=188.126.201.140; envelope-from=hselasky@freebsd.org From: Hans Petter Selasky To: freebsd-current@freebsd.org Date: Wed, 18 Nov 2009 20:59:33 +0100 User-Agent: KMail/1.11.4 (FreeBSD/9.0-CURRENT; KDE/4.2.4; i386; ; ) X-Face: (%:6u[ldzJ`0qjD7sCkfdMmD*RxpOwEEQ+KWt[{J#x6ow~JO:,zwp.(t; @Aq :4:&nFCgDb8[3oIeTb^'",;u{5{}C9>"PuY\)!=#\u9SSM-nz8+SR~B\!qBv MIME-Version: 1.0 Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200911182059.35769.hselasky@freebsd.org> Subject: [PATCH] Panic when inserting PCCARD X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Nov 2009 19:58:07 -0000 Hi, I am sometimes using a PCCARD which panics the FreeBSD 9-current kernel due to generating some interrupts immediately when plugged in. Can someone add the required checks to handle spurious interrupts on non-enabled IRQ vectors? Backtrace: pccard_intr() cbb_func_intr() intr_event_execute_handlers() --HPS sys/dev/pccard/pccard.c static void pccard_intr(void *arg) { struct pccard_function *pf = (struct pccard_function*) arg; + if (pf == NULL || pf->intr_handler == NULL) return; pf->intr_handler(pf->intr_handler_arg); }