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.
This commit is contained in:
mav 2015-06-25 07:23:35 +00:00
parent 9451fd94b7
commit 77eb863bb6

View File

@ -2913,6 +2913,14 @@ isp_handle_platform_ctio(ispsoftc_t *isp, void *arg)
} else {
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);