Date: Tue, 22 Jan 2008 23:32:41 -0700 From: Scott Long <scottl@samsco.org> To: =?ISO-8859-1?Q?Eirik_=D8verby?= <ltning@anduin.net> Cc: Anders Gulden Olstad <andersgo@anduin.net>, scottl@freebsd.org, freebsd-sparc64@freebsd.org, freebsd-stable@freebsd.org, Marius Strobl <marius@alchemy.franken.de> Subject: Re: 7.0 RC1/SPARC64 panic in boot Message-ID: <4796DF89.20507@samsco.org> In-Reply-To: <7E2FDA21-4026-4610-B5BC-BE4CB81AD0A1@anduin.net> References: <47947299.5000902@anduin.net> <02783148-323B-435C-9FAF-6DADAA0C526D@anduin.net> <20080122182306.GA42286@alchemy.franken.de> <7E2FDA21-4026-4610-B5BC-BE4CB81AD0A1@anduin.net>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------060302030909050305020400 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Eirik Øverby wrote: > On Jan 22, 2008, at 7:23 PM, Marius Strobl wrote: > >> On Tue, Jan 22, 2008 at 07:16:16AM +0100, Eirik verby wrote: >>> Hi list, >>> >>> by disabling the isp driver (set hint.isp.o.disabled=1), the system >>> comes up. This of course denies us access to the external disk array >>> hosted by the internal QLogic controller, but pinpoints the problem. >>> >>> We tried setting hint.isp.0.prefer_iomap=1, which made no difference >>> (though by reading the code, I don't see that it ever used this). >>> >>> Can anyone help us out here? >> >> Scott, could this be due to a missing MFC of isp_sbus.c rev. 1.36? > > If that would be the case I'd be most happy to hear that. I'll also be > more than happy to test, and can do so on relatively short notice (at > least for another few hours). > > We have, for the record, gone through some basic troubleshooting: > Replaced memory (as this error also can show up under Solaris and is > usually an indicator of bad memory), replaced SCSI controller with > another one (still isp driven), and testing various device hints - > suffice to say we have wasted our time so far ;) > Are you able to compile a new kernel without having to install first? if so, apply the attached patch and let me know if it works. Scott --------------060302030909050305020400 Content-Type: text/plain; x-mac-type="0"; x-mac-creator="0"; name="isp_sbus.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="isp_sbus.diff" Index: isp_sbus.c =================================================================== RCS file: /usr1/ncvs/src/sys/dev/isp/isp_sbus.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- isp_sbus.c 11 May 2007 13:47:28 -0000 1.35 +++ isp_sbus.c 5 Nov 2007 11:22:18 -0000 1.36 @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_sbus.c,v 1.35 2007/05/11 13:47:28 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_sbus.c,v 1.36 2007/11/05 11:22:18 scottl Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -327,21 +327,26 @@ /* * Make sure we're in reset state. */ + ISP_LOCK(isp); isp_reset(isp); if (isp->isp_state != ISP_RESETSTATE) { isp_uninit(isp); + ISP_UNLOCK(isp); goto bad; } isp_init(isp); if (isp->isp_role != ISP_ROLE_NONE && isp->isp_state != ISP_INITSTATE) { isp_uninit(isp); + ISP_UNLOCK(isp); goto bad; } isp_attach(isp); if (isp->isp_role != ISP_ROLE_NONE && isp->isp_state != ISP_RUNSTATE) { isp_uninit(isp); + ISP_UNLOCK(isp); goto bad; } + ISP_UNLOCK(isp); return (0); bad: --------------060302030909050305020400--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4796DF89.20507>