summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2016-05-24 07:12:53 +0000
committermav <mav@FreeBSD.org>2016-05-24 07:12:53 +0000
commit75fce927b85b9d49ec5b396f02abe643b75b901f (patch)
tree00ada657d9754f8b0aad6946def1abc1d9417c3f
parent21895d36585612acaa1ce213f1c41db399624c8f (diff)
downloadFreeBSD-src-75fce927b85b9d49ec5b396f02abe643b75b901f.zip
FreeBSD-src-75fce927b85b9d49ec5b396f02abe643b75b901f.tar.gz
MFC r300052: Completely remove broken now autologin port flag.
Firmware automatically logs in only to local loop ports, and those ports can be easily identified without extra flag by zero domain and area IDs.
-rw-r--r--sys/dev/isp/isp.c3
-rw-r--r--sys/dev/isp/isp_library.c4
-rw-r--r--sys/dev/isp/ispvar.h6
3 files changed, 4 insertions, 9 deletions
diff --git a/sys/dev/isp/isp.c b/sys/dev/isp/isp.c
index b837ca4..28ac520 100644
--- a/sys/dev/isp/isp.c
+++ b/sys/dev/isp/isp.c
@@ -3206,7 +3206,7 @@ isp_pdb_sync(ispsoftc_t *isp, int chan)
case FC_PORTDB_STATE_DEAD:
lp->state = FC_PORTDB_STATE_NIL;
isp_async(isp, ISPASYNC_DEV_GONE, chan, lp);
- if (lp->autologin == 0) {
+ if ((lp->portid & 0xffff00) != 0) {
(void) isp_plogx(isp, chan, lp->handle,
lp->portid,
PLOGX_FLG_CMD_LOGO |
@@ -3304,7 +3304,6 @@ isp_pdb_add_update(ispsoftc_t *isp, int chan, isp_pdb_t *pdb)
}
ISP_MEMZERO(lp, sizeof (fcportdb_t));
- lp->autologin = 1;
lp->probational = 0;
lp->state = FC_PORTDB_STATE_NEW;
lp->portid = lp->new_portid = pdb->portid;
diff --git a/sys/dev/isp/isp_library.c b/sys/dev/isp/isp_library.c
index 48e0535..f186e50 100644
--- a/sys/dev/isp/isp_library.c
+++ b/sys/dev/isp/isp_library.c
@@ -437,8 +437,8 @@ isp_dump_portdb(ispsoftc_t *isp, int chan)
}
isp_gen_role_str(buf1, sizeof (buf1), lp->prli_word3);
isp_gen_role_str(buf2, sizeof (buf2), lp->new_prli_word3);
- isp_prt(isp, ISP_LOGALL, "Chan %d [%d]: hdl 0x%x %s al%d %s 0x%06x =>%s 0x%06x; WWNN 0x%08x%08x WWPN 0x%08x%08x",
- chan, i, lp->handle, dbs[lp->state], lp->autologin, buf1, lp->portid, buf2, lp->new_portid,
+ isp_prt(isp, ISP_LOGALL, "Chan %d [%d]: hdl 0x%x %s %s 0x%06x =>%s 0x%06x; WWNN 0x%08x%08x WWPN 0x%08x%08x",
+ chan, i, lp->handle, dbs[lp->state], buf1, lp->portid, buf2, lp->new_portid,
(uint32_t) (lp->node_wwn >> 32), (uint32_t) (lp->node_wwn), (uint32_t) (lp->port_wwn >> 32), (uint32_t) (lp->port_wwn));
}
}
diff --git a/sys/dev/isp/ispvar.h b/sys/dev/isp/ispvar.h
index a97a04f..92f53f4 100644
--- a/sys/dev/isp/ispvar.h
+++ b/sys/dev/isp/ispvar.h
@@ -380,9 +380,6 @@ typedef struct {
uint16_t handle;
/*
- * A device is 'autologin' if the firmware automatically logs into
- * it (re-logins as needed). Basically, local private loop devices.
- *
* PRLI word 3 parameters contains role as well as other things.
*
* The state is the current state of this entry.
@@ -396,8 +393,7 @@ typedef struct {
*/
uint16_t prli_word3; /* PRLI parameters */
uint16_t new_prli_word3; /* Incoming new PRLI parameters */
- uint16_t : 11,
- autologin : 1, /* F/W does PLOGI/PLOGO */
+ uint16_t : 12,
probational : 1,
state : 3;
uint32_t : 6,
OpenPOWER on IntegriCloud