Date: Fri, 29 Aug 2008 15:17:50 -0400 From: Ross <westr@connection.ca> To: freebsd-scsi@freebsd.org Subject: Re[6]: isp(4) - kernel panic on initialization of driver Message-ID: <08661720.20080829151750@connection.ca> In-Reply-To: <3c0b01820808290822tce5619bie11b8e97fe9a9062@mail.gmail.com> References: <13710393234.20080826164158@connection.ca> <48B46EE1.8060408@samsco.org> <3c0b01820808270743n5fd40995u6e9506b772f2b03c@mail.gmail.com> <86689256.20080827112751@connection.ca> <3c0b01820808271333l34ead8ele99daab695baf667@mail.gmail.com> <34442830.20080829103621@connection.ca> <3c0b01820808290822tce5619bie11b8e97fe9a9062@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
AS> Give me a sec to look a this some more....bottom line is isp AS> should not be servicing async interrupts until its absolutely AS> ready! Okay, I've done a bit more digging on my side here, and have come up against a small wall - The trace shows: > isp_freeze_loopdown(c81d0e00,2,c06f800f,0,c0cf1f6c,...) at isp_freeze_loopdown+0x42 > isp_async(c81d0e00,6,0,14e1,2001d5c3,...) at isp_async+0xa72 > isp_intr(c81d0e00,8012,1,8014,c0af6718,...) at isp_intr+0xbc7 > isp_mbox_wait_complete(c81d0e00,c0af67e8,50000000,0,8,...) at isp_mbox_wait_complete+0x120 But what's missing in the trace is the call to isp_async() from isp_intr(). What I have found is the call to isp_parse_async() (see line 4560 in isp.c) which in turn calls isp_async(). Setting DEBUG to 0x14F shows the extra debug lines in there confirming the pass through [console output includes the "Async Mbox 0x8014" line before the mbox checkpoint]. I'm guessing that would be the spot to add a check against isp_state, but am not sure whether to just return from the function, or to do the goto jump to 'out' for the cleanup. Let me know if I'm on track. Cheers, Ross. --
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?08661720.20080829151750>