svn commit: r284540 - head/sys/dev/isp
Alexander Motin
mav at FreeBSD.org
Thu Jun 18 07:50:28 UTC 2015
Author: mav
Date: Thu Jun 18 07:50:27 2015
New Revision: 284540
URL: https://svnweb.freebsd.org/changeset/base/284540
Log:
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.
MFC after: 1 week
Modified:
head/sys/dev/isp/isp_freebsd.c
Modified: head/sys/dev/isp/isp_freebsd.c
==============================================================================
--- head/sys/dev/isp/isp_freebsd.c Thu Jun 18 06:00:17 2015 (r284539)
+++ head/sys/dev/isp/isp_freebsd.c Thu Jun 18 07:50:27 2015 (r284540)
@@ -2931,6 +2931,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