From owner-freebsd-i386@FreeBSD.ORG Tue Aug 26 20:20:03 2008 Return-Path: <owner-freebsd-i386@FreeBSD.ORG> Delivered-To: freebsd-i386@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CAB8A1065690 for <freebsd-i386@hub.freebsd.org>; Tue, 26 Aug 2008 20:20:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 958D68FC23 for <freebsd-i386@hub.freebsd.org>; Tue, 26 Aug 2008 20:20:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m7QKK3mp073697 for <freebsd-i386@freefall.freebsd.org>; Tue, 26 Aug 2008 20:20:03 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m7QKK3hC073695; Tue, 26 Aug 2008 20:20:03 GMT (envelope-from gnats) Resent-Date: Tue, 26 Aug 2008 20:20:03 GMT Resent-Message-Id: <200808262020.m7QKK3hC073695@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-i386@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Ross <westr@connection.ca> Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D47231065676 for <freebsd-gnats-submit@FreeBSD.org>; Tue, 26 Aug 2008 20:13:25 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id B20A28FC20 for <freebsd-gnats-submit@FreeBSD.org>; Tue, 26 Aug 2008 20:13:25 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.2/8.14.2) with ESMTP id m7QKDPuZ049803 for <freebsd-gnats-submit@FreeBSD.org>; Tue, 26 Aug 2008 20:13:25 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.2/8.14.1/Submit) id m7QKDPC6049802; Tue, 26 Aug 2008 20:13:25 GMT (envelope-from nobody) Message-Id: <200808262013.m7QKDPC6049802@www.freebsd.org> Date: Tue, 26 Aug 2008 20:13:25 GMT From: Ross <westr@connection.ca> To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: i386/126866: isp(4) - kernel panic on card initialization X-BeenThere: freebsd-i386@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: I386-specific issues for FreeBSD <freebsd-i386.freebsd.org> List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-i386>, <mailto:freebsd-i386-request@freebsd.org?subject=unsubscribe> List-Archive: <http://lists.freebsd.org/pipermail/freebsd-i386> List-Post: <mailto:freebsd-i386@freebsd.org> List-Help: <mailto:freebsd-i386-request@freebsd.org?subject=help> List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-i386>, <mailto:freebsd-i386-request@freebsd.org?subject=subscribe> X-List-Received-Date: Tue, 26 Aug 2008 20:20:03 -0000 >Number: 126866 >Category: i386 >Synopsis: isp(4) - kernel panic on card initialization >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-i386 >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Aug 26 20:20:02 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Ross >Release: Freebsd 7.0 >Organization: >Environment: FreeBSD <servername> 7.0-RELEASE-p3 FreeBSD 7.0-RELEASE-p3 #22: Tue Aug 26 13:18:24 EDT 2008 <servername>:/usr/obj/usr/src/sys/BL460C i386 >Description: isp(4) driver can crash the kernel with a fatal trap 12/Page fault upon initialization of the driver - this is generally evident in a boot-off-SAN configuration where the card is already active upon boot. Debugging shows the last outputted message as "isp1: Port Database Changed: freeze simq (loopdown)" [line 288 in isp_freebsd.c]. Further added debugging shows that the function isp_freeze_loopdown() will never return, pointing the problem most likely being with the line 'xpt_freeze_simq(isp->isp_sim, 1);' [line 290 in isp_freebsd.c] Normal startup/activation of the driver will occur about 50% of the time, which seems to point to the driver receiving a FC command/notification before it's ready for it. -= Normal successful startup: [hint.isp.0.debug = 0x11F] .. Aug 26 15:45:16 controller kernel: isp0: <Qlogic ISP 2432 PCI FC-AL Adapter> port 0x4000-0x40ff mem 0xfdff0000-0xfdff3fff irq 18 at device 0.0 on pci16 Aug 26 15:45:16 controller kernel: isp0: set PCI latency to 64 Aug 26 15:45:16 controller kernel: isp0: [ITHREAD] Aug 26 15:45:16 controller kernel: isp0: Board Type 2422, Chip Revision 0x2, resident F/W Revision 4.0.90 Aug 26 15:45:16 controller kernel: isp0: 2K Logins Supported Aug 26 15:45:16 controller kernel: isp0: Last F/W revision was 4.0.90 Aug 26 15:45:16 controller kernel: isp0: 4096 max I/O command limit set Aug 26 15:45:16 controller kernel: isp0: line 1207: markportdb Aug 26 15:45:16 controller kernel: isp0: Starting Initial Loop Down Timer Aug 26 15:45:16 controller kernel: isp1: <Qlogic ISP 2432 PCI FC-AL Adapter> port 0x4400-0x44ff mem 0xfdfe0000-0xfdfe3fff irq 19 at device 0.1 on pci16 Aug 26 15:45:16 controller kernel: isp1: set PCI latency to 64 Aug 26 15:45:16 controller kernel: isp1: [ITHREAD] Aug 26 15:45:16 controller kernel: isp1: Board Type 2422, Chip Revision 0x2, resident F/W Revision 4.0.90 Aug 26 15:45:16 controller kernel: isp1: 2K Logins Supported Aug 26 15:45:16 controller kernel: isp1: Last F/W revision was 4.0.90 Aug 26 15:45:16 controller kernel: isp1: 4096 max I/O command limit set Aug 26 15:45:16 controller kernel: isp1: line 1207: markportdb Aug 26 15:45:16 controller kernel: isp1: Starting Initial Loop Down Timer .. -= -= Failed startup Aug 26 15:45:16 controller kernel: isp0: <Qlogic ISP 2432 PCI FC-AL Adapter> port 0x4000-0x40ff mem 0xfdff0000-0xfdff3fff irq 18 at device 0.0 on pci16 Aug 26 15:45:16 controller kernel: isp0: set PCI latency to 64 Aug 26 15:45:16 controller kernel: isp0: [ITHREAD] Aug 26 15:45:16 controller kernel: isp0: Board Type 2422, Chip Revision 0x2, resident F/W Revision 4.0.90 Aug 26 15:45:16 controller kernel: isp0: 2K Logins Supported Aug 26 15:45:16 controller kernel: isp0: Last F/W revision was 4.0.90 Aug 26 15:45:16 controller kernel: isp0: 4096 max I/O command limit set Aug 26 15:45:16 controller kernel: isp0: line 1207: markportdb Aug 26 15:45:16 controller kernel: isp0: Starting Initial Loop Down Timer Aug 26 15:45:16 controller kernel: isp1: <Qlogic ISP 2432 PCI FC-AL Adapter> port 0x4400-0x44ff mem 0xfdfe0000-0xfdfe3fff irq 19 at device 0.1 on pci16 Aug 26 15:45:16 controller kernel: isp1: set PCI latency to 64 Aug 26 15:45:16 controller kernel: isp1: [ITHREAD] Aug 26 15:45:16 controller kernel: isp1: line 5345: markportdb Aug 26 15:45:16 controller kernel: isp1: Port Database Changed Aug 26 15:45:16 controller kernel: isp1: Port Database Changed: freeze simq (loopdown) [point of crash] Fatal Trap 12: page fault while in kernel fault code = Supervisor read, page not present instruction pointer: 0x20 : 0xc0243a46 stack pointer: 0x20 : 0xc0af63cc frame pointer: 0x20 : 0xc0af63cc .. -= >How-To-Repeat: Reboot the box, and hope the FC command doesn't come down the pipe before the driver is fully initialized. :-) >Fix: none. >Release-Note: >Audit-Trail: >Unformatted: