isp(4) - kernel panic on initialization of driver

Ross westr at connection.ca
Fri Aug 29 19:17:51 UTC 2008


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.

-- 




More information about the freebsd-scsi mailing list