aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/isp/isp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/isp/isp.c')
-rw-r--r--sys/dev/isp/isp.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/sys/dev/isp/isp.c b/sys/dev/isp/isp.c
index 4c4a81e42e7de..008a534a89f32 100644
--- a/sys/dev/isp/isp.c
+++ b/sys/dev/isp/isp.c
@@ -2963,17 +2963,19 @@ isp_scan_loop(ispsoftc_t *isp)
/*
* Check to make sure it's still a valid entry. The 24XX seems
* to return a portid but not a WWPN/WWNN or role for devices
- * which shift on a loop.
+ * which shift on a loop, or have a WWPN/WWNN but no portid.
*/
if (tmp.node_wwn == 0 || tmp.port_wwn == 0 || tmp.portid == 0) {
- int a, b, c;
- a = (tmp.node_wwn == 0);
- b = (tmp.port_wwn == 0);
- c = (tmp.portid == 0);
- isp_prt(isp, ISP_LOGWARN,
- "bad pdb (%1d%1d%1d) @ handle 0x%x", a, b, c,
- handle);
- isp_dump_portdb(isp);
+ if (isp->isp_dblev & ISP_LOGSANCFG) {
+ int a, b, c;
+ a = !(tmp.node_wwn == 0);
+ b = !(tmp.port_wwn == 0);
+ c = !(tmp.portid == 0);
+ isp_prt(isp, ISP_LOGALL,
+ "bad pdb (%1d%1d%1d) @ handle 0x%x",
+ a, b, c, handle);
+ isp_dump_portdb(isp);
+ }
continue;
}