summaryrefslogtreecommitdiffstats
path: root/sys/dev/isp
diff options
context:
space:
mode:
authormjacob <mjacob@FreeBSD.org>2007-02-23 05:39:58 +0000
committermjacob <mjacob@FreeBSD.org>2007-02-23 05:39:58 +0000
commit722dc3101f04516321b1a9c5e83bff184bd35612 (patch)
treefa2f112d64ce18d2be51bb8d49225e023c082366 /sys/dev/isp
parent4c5d9596112b8e98a1d49c75442c54cadc4e225d (diff)
downloadFreeBSD-src-722dc3101f04516321b1a9c5e83bff184bd35612.zip
FreeBSD-src-722dc3101f04516321b1a9c5e83bff184bd35612.tar.gz
Be a bit more restrictive about printing out 'bad' pdb entries
during loop rescans. They're not bad so much as unstable, so don't print this stuff out unless ISP_LOGSANCFG is set.
Diffstat (limited to 'sys/dev/isp')
-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 4c4a81e..008a534 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;
}
OpenPOWER on IntegriCloud