Date: Mon, 30 Nov 2015 21:29:38 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r291499 - stable/10/sys/dev/isp Message-ID: <201511302129.tAULTcgG066786@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mav Date: Mon Nov 30 21:29:38 2015 New Revision: 291499 URL: https://svnweb.freebsd.org/changeset/base/291499 Log: MFC r290118: Change the way how target mode is enabled on 23xx chips. Without docs I am not completely sure about this, but on my tests new method works better then previous, at least with our latest firmware. Modified: stable/10/sys/dev/isp/isp.c stable/10/sys/dev/isp/isp_freebsd.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/isp/isp.c ============================================================================== --- stable/10/sys/dev/isp/isp.c Mon Nov 30 21:28:53 2015 (r291498) +++ stable/10/sys/dev/isp/isp.c Mon Nov 30 21:29:38 2015 (r291499) @@ -1895,7 +1895,7 @@ isp_fibre_init(ispsoftc_t *isp) icbp->icb_logintime = ICB_LOGIN_TOV; #ifdef ISP_TARGET_MODE - if (ISP_FW_NEWER_THAN(isp, 3, 25, 0) && (icbp->icb_fwoptions & ICBOPT_TGT_ENABLE)) { + if (IS_23XX(isp) && (icbp->icb_fwoptions & ICBOPT_TGT_ENABLE)) { icbp->icb_lunenables = 0xffff; icbp->icb_ccnt = DFLT_CMND_CNT; icbp->icb_icnt = DFLT_INOT_CNT; Modified: stable/10/sys/dev/isp/isp_freebsd.c ============================================================================== --- stable/10/sys/dev/isp/isp_freebsd.c Mon Nov 30 21:28:53 2015 (r291498) +++ stable/10/sys/dev/isp/isp_freebsd.c Mon Nov 30 21:29:38 2015 (r291499) @@ -1414,7 +1414,8 @@ isp_enable_deferred(ispsoftc_t *isp, int ISP_GET_PC(isp, bus, tm_luns_enabled, luns_already_enabled); isp_prt(isp, ISP_LOGTINFO, "%s: bus %d lun %u luns_enabled %d", __func__, bus, lun, luns_already_enabled); - if (IS_24XX(isp) || (IS_FC(isp) && luns_already_enabled)) { + if (IS_23XX(isp) || IS_24XX(isp) || + (IS_FC(isp) && luns_already_enabled)) { status = CAM_REQ_CMP; } else { int cmd_cnt, not_cnt; @@ -1485,7 +1486,7 @@ isp_disable_lun(ispsoftc_t *isp, union c /* * If we're a 24XX card, we're done. */ - if (IS_24XX(isp)) { + if (IS_23XX(isp) || IS_24XX(isp)) { status = CAM_REQ_CMP; goto done; } @@ -1501,7 +1502,7 @@ isp_disable_lun(ispsoftc_t *isp, union c if (isp_lun_cmd(isp, RQSTYPE_ENABLE_LUN, bus, lun, 0, 0)) { status = CAM_RESRC_UNAVAIL; } else { - mtx_sleep(ccb, &isp->isp_lock, PRIBIO, "isp_disable_lun", 0); + mtx_sleep(&status, &isp->isp_lock, PRIBIO, "isp_disable_lun", 0); } isp->isp_osinfo.rptr = NULL; done:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201511302129.tAULTcgG066786>