From 83548830a7fd71098c17eee342d6997f7923defa Mon Sep 17 00:00:00 2001 From: Matt Jacob Date: Sat, 29 Sep 2001 19:37:49 +0000 Subject: [PATCH] When calling isp_reset, set the request/response in/out pointers all at once so there isn't a window with the ones for the 23XX cards being wrong. When being verbose, print out some more FC NVRAM values (like framesize). MFC after: 1 week --- sys/dev/isp/isp.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/sys/dev/isp/isp.c b/sys/dev/isp/isp.c index 8e6e5afc1de..81aeb6d10c4 100644 --- a/sys/dev/isp/isp.c +++ b/sys/dev/isp/isp.c @@ -213,10 +213,17 @@ isp_reset(struct ispsoftc *isp) * Set up default request/response queue in-pointer/out-pointer * register indices. */ - isp->isp_rqstinrp = INMAILBOX4; - isp->isp_rqstoutrp = OUTMAILBOX4; - isp->isp_respinrp = OUTMAILBOX5; - isp->isp_respoutrp = INMAILBOX5; + if (IS_2300(isp)) { + isp->isp_rqstinrp = BIU_REQINP; + isp->isp_rqstoutrp = BIU_REQOUTP; + isp->isp_respinrp = BIU_RSPINP; + isp->isp_respoutrp = BIU_RSPOUTP; + } else { + isp->isp_rqstinrp = INMAILBOX4; + isp->isp_rqstoutrp = OUTMAILBOX4; + isp->isp_respinrp = OUTMAILBOX5; + isp->isp_respoutrp = INMAILBOX5; + } /* * Put the board into PAUSE mode (so we can read the SXP registers @@ -233,10 +240,6 @@ isp_reset(struct ispsoftc *isp) btype = "2200"; break; case ISP_HA_FC_2300: - isp->isp_rqstinrp = BIU_REQINP; - isp->isp_rqstoutrp = BIU_REQOUTP; - isp->isp_respinrp = BIU_RSPINP; - isp->isp_respoutrp = BIU_RSPOUTP; btype = "2300"; break; default: @@ -5520,5 +5523,6 @@ isp_parse_nvram_2100(struct ispsoftc *isp, u_int8_t *nvram_data) ISP2100_NVRAM_EXECUTION_THROTTLE(nvram_data); fcp->isp_fwoptions = ISP2100_NVRAM_OPTIONS(nvram_data); isp_prt(isp, ISP_LOGDEBUG0, - "fwoptions from nvram are 0x%x", fcp->isp_fwoptions); + "NVRAM: maxfrmlen %d execthrottle %d fwoptions 0x%x", + fcp->isp_maxfrmlen, fcp->isp_execthrottle, fcp->isp_fwoptions); }