[Bug 293076] ctld regression in FreeBSD 15: multiple physical ports per target rejected and ports not enabled automatically

[email protected] Wed, 13 May 2026 19:17:01 +0000
Newsgroups gmane.os.freebsd.devel.scsi
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D293076

--- Comment #25 from John Baldwin <[email protected]> ---
(In reply to Ken J. Thomson from comment #24)
Ah, this appears to be fallout from an assertion added in 15.0-CURRENT.  Pl=
ease
try this fix (also available for review at https://reviews.freebsd.org/D569=
95):

diff --git a/sys/cam/ctl/scsi_ctl.c b/sys/cam/ctl/scsi_ctl.c
index 68f1cabf6d07..6a55aba2669b 100644
--- a/sys/cam/ctl/scsi_ctl.c
+++ b/sys/cam/ctl/scsi_ctl.c
@@ -522,7 +522,8 @@ ctlferegister(struct cam_periph *periph, void *arg)
                new_ccb->ccb_h.io_ptr =3D new_io;
                LIST_INSERT_HEAD(&softc->atio_list, &new_ccb->ccb_h,
periph_links.le);

-               xpt_setup_ccb(&new_ccb->ccb_h, periph->path,
CAM_PRIORITY_NONE);
+               xpt_setup_ccb(&new_ccb->ccb_h, periph->path,
+                   CAM_PRIORITY_NORMAL);
                new_ccb->ccb_h.func_code =3D XPT_ACCEPT_TARGET_IO;
                new_ccb->ccb_h.cbfcnp =3D ctlfedone;
                new_ccb->ccb_h.flags |=3D CAM_UNLOCKED;
@@ -569,7 +570,8 @@ ctlferegister(struct cam_periph *periph, void *arg)
                new_ccb->ccb_h.io_ptr =3D new_io;
                LIST_INSERT_HEAD(&softc->inot_list, &new_ccb->ccb_h,
periph_links.le);

-               xpt_setup_ccb(&new_ccb->ccb_h, periph->path,
CAM_PRIORITY_NONE);
+               xpt_setup_ccb(&new_ccb->ccb_h, periph->path,
+                   CAM_PRIORITY_NORMAL);
                new_ccb->ccb_h.func_code =3D XPT_IMMEDIATE_NOTIFY;
                new_ccb->ccb_h.cbfcnp =3D ctlfedone;
                new_ccb->ccb_h.flags |=3D CAM_UNLOCKED;
@@ -1003,7 +1005,7 @@ ctlfe_requeue_ccb(struct cam_periph *periph, union ccb
*ccb, int unlock)
         * target/lun.  Reset the target and LUN fields back to the wildcard
         * values before we send them back down to the SIM.
         */
-       xpt_setup_ccb_flags(&ccb->ccb_h, periph->path, CAM_PRIORITY_NONE,
+       xpt_setup_ccb_flags(&ccb->ccb_h, periph->path, CAM_PRIORITY_NORMAL,
            ccb->ccb_h.flags);

        xpt_action(ccb);

--=20
You are receiving this mail because:
You are the assignee for the bug.=