summaryrefslogtreecommitdiffstats
path: root/sys/dev/isp
diff options
context:
space:
mode:
authormjacob <mjacob@FreeBSD.org>2010-01-15 20:08:08 +0000
committermjacob <mjacob@FreeBSD.org>2010-01-15 20:08:08 +0000
commit6f0cf58bd4ad9308502d67c772aeb20220970936 (patch)
tree6771df725539b8351388cf18d1dd171a2ad2f306 /sys/dev/isp
parent4a757d7efd2dd29424d5aee3fca174e8f9554ddd (diff)
downloadFreeBSD-src-6f0cf58bd4ad9308502d67c772aeb20220970936.zip
FreeBSD-src-6f0cf58bd4ad9308502d67c772aeb20220970936.tar.gz
Amazingly we've been freeing a handle and using that which it refers to
for years. Bad! MFC after: 1 week
Diffstat (limited to 'sys/dev/isp')
-rw-r--r--sys/dev/isp/isp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/isp/isp.c b/sys/dev/isp/isp.c
index 7ea8274..3f22d72 100644
--- a/sys/dev/isp/isp.c
+++ b/sys/dev/isp/isp.c
@@ -5185,7 +5185,6 @@ again:
ISP_WRITE(isp, isp->isp_respoutrp, optr);
continue;
}
- isp_destroy_handle(isp, sp->req_handle);
if (req_status_flags & RQSTF_BUS_RESET) {
XS_SETERR(xs, HBA_BUSRESET);
ISP_SET_SENDMARKER(isp, XS_CHANNEL(xs), 1);
@@ -5321,6 +5320,7 @@ again:
if (XS_XFRLEN(xs)) {
ISP_DMAFREE(isp, xs, sp->req_handle);
}
+ isp_destroy_handle(isp, sp->req_handle);
if (((isp->isp_dblev & (ISP_LOGDEBUG1|ISP_LOGDEBUG2|ISP_LOGDEBUG3))) ||
((isp->isp_dblev & ISP_LOGDEBUG0) && ((!XS_NOERR(xs)) ||
OpenPOWER on IntegriCloud