diff options
| author | Matt Jacob <mjacob@FreeBSD.org> | 2007-02-23 05:39:58 +0000 |
|---|---|---|
| committer | Matt Jacob <mjacob@FreeBSD.org> | 2007-02-23 05:39:58 +0000 |
| commit | 1b960c0b77d44afd1614b575b903f169dcc78420 (patch) | |
| tree | fa2f112d64ce18d2be51bb8d49225e023c082366 /sys/dev/isp/isp.c | |
| parent | 10fa77a3a90e3dbb5c7173e179061333d536560e (diff) | |
Notes
Diffstat (limited to 'sys/dev/isp/isp.c')
| -rw-r--r-- | sys/dev/isp/isp.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/sys/dev/isp/isp.c b/sys/dev/isp/isp.c index 4c4a81e42e7d..008a534a89f3 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; } |
