summaryrefslogtreecommitdiffstats
path: root/sys/cam
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2017-03-18 23:57:47 +0000
committertrasz <trasz@FreeBSD.org>2017-03-18 23:57:47 +0000
commit5da1142241ae59987ea64cc1495dfa8ceaac5f73 (patch)
treea1c55734c890f4189608e4daf8074f557296f8d7 /sys/cam
parent7e94aa68aa15f5b99672d7701e969a13f449a071 (diff)
downloadFreeBSD-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/cam')
-rw-r--r--sys/cam/ctl/ctl_frontend_iscsi.c3
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);
}
OpenPOWER on IntegriCloud