diff options
author | mjacob <mjacob@FreeBSD.org> | 2010-01-15 20:08:08 +0000 |
---|---|---|
committer | mjacob <mjacob@FreeBSD.org> | 2010-01-15 20:08:08 +0000 |
commit | 6f0cf58bd4ad9308502d67c772aeb20220970936 (patch) | |
tree | 6771df725539b8351388cf18d1dd171a2ad2f306 /sys/dev/isp/isp.c | |
parent | 4a757d7efd2dd29424d5aee3fca174e8f9554ddd (diff) | |
download | FreeBSD-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/isp.c')
-rw-r--r-- | sys/dev/isp/isp.c | 2 |
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)) || |