Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Feb 2021 21:33:14 GMT
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: c67a2909a629 - main - Move XPT_IMMEDIATE_NOTIFY handling out of periph lock.
Message-ID:  <202102182133.11ILXECI024509@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by mav:

URL: https://cgit.FreeBSD.org/src/commit/?id=c67a2909a629db138227993e1093e66bb6c00af5

commit c67a2909a629db138227993e1093e66bb6c00af5
Author:     Alexander Motin <mav@FreeBSD.org>
AuthorDate: 2021-02-18 21:22:01 +0000
Commit:     Alexander Motin <mav@FreeBSD.org>
CommitDate: 2021-02-18 21:31:38 +0000

    Move XPT_IMMEDIATE_NOTIFY handling out of periph lock.
    
    It is a rare, but still better to not have lock dependencies.
    
    MFC after:      1 month
---
 sys/cam/ctl/scsi_ctl.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sys/cam/ctl/scsi_ctl.c b/sys/cam/ctl/scsi_ctl.c
index 074ac4cd1894..34c3ce7ad923 100644
--- a/sys/cam/ctl/scsi_ctl.c
+++ b/sys/cam/ctl/scsi_ctl.c
@@ -1491,6 +1491,7 @@ ctlfedone(struct cam_periph *periph, union ccb *done_ccb)
 			ctlfe_free_ccb(periph, done_ccb);
 			goto out;
 		}
+		mtx_unlock(mtx);
 		if (send_ctl_io != 0) {
 			ctl_queue(io);
 		} else {
@@ -1498,7 +1499,7 @@ ctlfedone(struct cam_periph *periph, union ccb *done_ccb)
 			done_ccb->ccb_h.func_code = XPT_NOTIFY_ACKNOWLEDGE;
 			xpt_action(done_ccb);
 		}
-		break;
+		return;
 	}
 	case XPT_NOTIFY_ACKNOWLEDGE:
 		/* Queue this back down to the SIM as an immediate notify. */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202102182133.11ILXECI024509>