aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/isp/isp_freebsd.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/isp/isp_freebsd.c')
-rw-r--r--sys/dev/isp/isp_freebsd.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/dev/isp/isp_freebsd.c b/sys/dev/isp/isp_freebsd.c
index 49755f11e95c4..c678a81005eb9 100644
--- a/sys/dev/isp/isp_freebsd.c
+++ b/sys/dev/isp/isp_freebsd.c
@@ -2609,7 +2609,14 @@ isp_handle_platform_notify_24xx(ispsoftc_t *isp, in_fcentry_24xx_t *inot)
msg = "PRLO";
break;
case PLOGI:
- msg = "PLOGI";
+ case PRLI:
+ /*
+ * Treat PRLI the same as PLOGI and make a database entry for it.
+ */
+ if (inot->in_status_subcode == PLOGI)
+ msg = "PLOGI";
+ else
+ msg = "PRLI";
if (ISP_FW_NEWER_THAN(isp, 4, 0, 25)) {
ptr = (uint8_t *)inot; /* point to unswizzled entry! */
wwn = (((uint64_t) ptr[IN24XX_PLOGI_WWPN_OFF]) << 56) |
@@ -2625,8 +2632,6 @@ isp_handle_platform_notify_24xx(ispsoftc_t *isp, in_fcentry_24xx_t *inot)
}
isp_add_wwn_entry(isp, chan, wwn, nphdl, portid);
break;
- case PRLI:
- msg = "PRLI";
break;
case PDISC:
msg = "PDISC";