Author: mav
Date: Tue May 17 13:18:57 2016
New Revision: 300052
URL: https://svnweb.freebsd.org/changeset/base/300052

Log:
  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.
  
  MFC after:    1 week

Modified:
  head/sys/dev/isp/isp.c
  head/sys/dev/isp/isp_library.c
  head/sys/dev/isp/ispvar.h

Modified: head/sys/dev/isp/isp.c
==============================================================================
--- head/sys/dev/isp/isp.c      Tue May 17 13:12:26 2016        (r300051)
+++ head/sys/dev/isp/isp.c      Tue May 17 13:18:57 2016        (r300052)
@@ -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 
        }
 
        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;

Modified: head/sys/dev/isp/isp_library.c
==============================================================================
--- head/sys/dev/isp/isp_library.c      Tue May 17 13:12:26 2016        
(r300051)
+++ head/sys/dev/isp/isp_library.c      Tue May 17 13:18:57 2016        
(r300052)
@@ -437,8 +437,8 @@ isp_dump_portdb(ispsoftc_t *isp, int cha
                }
                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));
        }
 }

Modified: head/sys/dev/isp/ispvar.h
==============================================================================
--- head/sys/dev/isp/ispvar.h   Tue May 17 13:12:26 2016        (r300051)
+++ head/sys/dev/isp/ispvar.h   Tue May 17 13:18:57 2016        (r300052)
@@ -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,
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to