svn commit: r284800 - stable/10/sys/dev/isp

Alexander Motin mav at FreeBSD.org
Thu Jun 25 07:23:36 UTC 2015


Author: mav
Date: Thu Jun 25 07:23:35 2015
New Revision: 284800
URL: https://svnweb.freebsd.org/changeset/base/284800

Log:
  MFC r284540:
  In case of target mode disable at least ISP2532 return invalid zero
  ct_rxid value on CTIO completion.  Try to workaround that using tag_id
  from the CCB, pointed by still valid ct_syshandle.
  
  I don't know whether this is valid fix or dirty hack, but considering that
  alternative is indefinitely stuck command -- it worth trying.

Modified:
  stable/10/sys/dev/isp/isp_freebsd.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/dev/isp/isp_freebsd.c
==============================================================================
--- stable/10/sys/dev/isp/isp_freebsd.c	Thu Jun 25 07:22:37 2015	(r284799)
+++ stable/10/sys/dev/isp/isp_freebsd.c	Thu Jun 25 07:23:35 2015	(r284800)
@@ -2914,6 +2914,14 @@ isp_handle_platform_ctio(ispsoftc_t *isp
 		atp = isp_find_atpd(isp, tptr, ((ct_entry_t *)arg)->ct_fwhandle);
 	}
 	if (atp == NULL) {
+		/*
+		 * In case of target mode disable at least ISP2532 return
+		 * invalid zero ct_rxid value.  Try to workaround that using
+		 * tag_id from the CCB, pointed by valid ct_syshandle.
+		 */
+		atp = isp_find_atpd(isp, tptr, ccb->csio.tag_id);
+	}
+	if (atp == NULL) {
 		rls_lun_statep(isp, tptr);
 		isp_prt(isp, ISP_LOGERR, "%s: cannot find adjunct for %x after I/O", __func__, ccb->csio.tag_id);
 		return;


More information about the svn-src-all mailing list