diff options
author | trasz <trasz@FreeBSD.org> | 2017-03-18 23:57:47 +0000 |
---|---|---|
committer | trasz <trasz@FreeBSD.org> | 2017-03-18 23:57:47 +0000 |
commit | 5da1142241ae59987ea64cc1495dfa8ceaac5f73 (patch) | |
tree | a1c55734c890f4189608e4daf8074f557296f8d7 /sys | |
parent | 7e94aa68aa15f5b99672d7701e969a13f449a071 (diff) | |
download | FreeBSD-src-5da1142241ae59987ea64cc1495dfa8ceaac5f73.zip FreeBSD-src-5da1142241ae59987ea64cc1495dfa8ceaac5f73.tar.gz |
MFC r311283:
Don't release the cfiscsi session refcount too early. It wasn't
observed to fix any actual error, but it's the right thing to do
from the correctness point of view.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/cam/ctl/ctl_frontend_iscsi.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/cam/ctl/ctl_frontend_iscsi.c b/sys/cam/ctl/ctl_frontend_iscsi.c index bd85576..8fa8ec8 100644 --- a/sys/cam/ctl/ctl_frontend_iscsi.c +++ b/sys/cam/ctl/ctl_frontend_iscsi.c @@ -2974,7 +2974,6 @@ cfiscsi_done(union ctl_io *io) request = io->io_hdr.ctl_private[CTL_PRIV_FRONTEND].ptr; cs = PDU_SESSION(request); - refcount_release(&cs->cs_outstanding_ctl_pdus); switch (request->ip_bhs->bhs_opcode & ~ISCSI_BHS_OPCODE_IMMEDIATE) { case ISCSI_BHS_OPCODE_SCSI_COMMAND: @@ -2987,4 +2986,6 @@ cfiscsi_done(union ctl_io *io) panic("cfiscsi_done called with wrong opcode 0x%x", request->ip_bhs->bhs_opcode); } + + refcount_release(&cs->cs_outstanding_ctl_pdus); } |