git: ba9aaed01a48 - main - Revert "ciss: Add max physical target"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 17 Aug 2026 13:23:24 UTC
The branch main has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=ba9aaed01a484778f1c1f2fb5d7e30dbb1a8f5ad
commit ba9aaed01a484778f1c1f2fb5d7e30dbb1a8f5ad
Author: Warner Losh <imp@FreeBSD.org>
AuthorDate: 2026-08-17 13:11:52 +0000
Commit: Warner Losh <imp@FreeBSD.org>
CommitDate: 2026-08-17 13:11:52 +0000
Revert "ciss: Add max physical target"
This reverts commit 45645518ea19ccb4761aee3a525aab2f323d37d4.
Although this changed looks like it should just be a harmless change to
bookkeeping, it turns out that it changes the termination condition of
the initial device scan, resulting in it never finishing. This causes
the boot to hang forever coming up. Since I don't have good access to
hardware, I'm reverting until the exact details can be sorted out.
Reported by: Edward Scroop
Sponsored by: Netflix
MFC After: 1 week
---
sys/dev/ciss/ciss.c | 11 +----------
sys/dev/ciss/cissvar.h | 1 -
2 files changed, 1 insertion(+), 11 deletions(-)
diff --git a/sys/dev/ciss/ciss.c b/sys/dev/ciss/ciss.c
index 416f6e86e663..7fa6ef4f5ac3 100644
--- a/sys/dev/ciss/ciss.c
+++ b/sys/dev/ciss/ciss.c
@@ -1552,9 +1552,6 @@ ciss_init_physical(struct ciss_softc *sc)
nphys, (nphys > 1 || nphys == 0) ? "s" : "");
}
- /* Per-controller highest target number seen */
- sc->ciss_max_physical_target = 0;
-
/*
* Figure out the bus mapping.
* Logical buses include both the local logical bus for local arrays and
@@ -1637,8 +1634,6 @@ ciss_init_physical(struct ciss_softc *sc)
}
ciss_filter_physical(sc, cll);
- if (bootverbose || ciss_verbose)
- ciss_printf(sc, "max physical target id: %d\n", sc->ciss_max_physical_target);
out:
if (cll != NULL)
@@ -1688,10 +1683,6 @@ ciss_filter_physical(struct ciss_softc *sc, struct ciss_lun_report *cll)
target = CISS_EXTRA_TARGET2(ea);
sc->ciss_physical[bus][target].cp_address = cll->lun[i];
sc->ciss_physical[bus][target].cp_online = 1;
-
- if ((target > sc->ciss_max_physical_target) &&
- (cll->lun[i].physical.mode != CISS_HDR_ADDRESS_MODE_MASK_PERIPHERAL))
- sc->ciss_max_physical_target = target;
}
return (0);
@@ -3079,7 +3070,7 @@ ciss_cam_action(struct cam_sim *sim, union ccb *ccb)
cpi->hba_inquiry = PI_TAG_ABLE; /* XXX is this correct? */
cpi->target_sprt = 0;
cpi->hba_misc = 0;
- cpi->max_target = MAX(sc->ciss_max_physical_target, sc->ciss_cfg->max_logical_supported);
+ cpi->max_target = sc->ciss_cfg->max_logical_supported;
cpi->max_lun = 0; /* 'logical drive' channel only */
if (ciss_initiator_id != CAM_TARGET_WILDCARD)
cpi->initiator_id = ciss_initiator_id;
diff --git a/sys/dev/ciss/cissvar.h b/sys/dev/ciss/cissvar.h
index 58275f83732c..eec11018d279 100644
--- a/sys/dev/ciss/cissvar.h
+++ b/sys/dev/ciss/cissvar.h
@@ -236,7 +236,6 @@ struct ciss_softc
int ciss_max_bus_number; /* maximum bus number */
int ciss_max_logical_bus;
int ciss_max_physical_bus;
- int ciss_max_physical_target; /* highest physical target number */
struct cam_devq *ciss_cam_devq;
struct cam_sim **ciss_cam_sim;