qla2xxx: Remove restriction on starting remote device discovery on port update.
authorChad Dupuis <chad.dupuis@qlogic.com>
Fri, 8 Aug 2014 11:38:09 +0000 (07:38 -0400)
committerChristoph Hellwig <hch@lst.de>
Tue, 16 Sep 2014 16:09:44 +0000 (09:09 -0700)
Limiting which port update events will allow the driver to kick off a
name server scan has been problematic in some corner cases so remove the
restriction and restore the previous semantic. Also move the link
up/down informational messages to the LOOP_UP and LOOP_DOWN events.

Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/scsi/qla2xxx/qla_dbg.c
drivers/scsi/qla2xxx/qla_isr.c

index c72ee97bf3f713b8ad0998ca73d1a06c1a7da993..41117b3a50f087cf11ae3c538d2244be33c5320a 100644 (file)
@@ -34,7 +34,7 @@
  * |                              |                    | 0x5047,0x5052  |
  * |                              |                    | 0x5084,0x5075 |
  * |                              |                    | 0x503d,0x5044  |
- * |                              |                    | 0x507b                |
+ * |                              |                    | 0x507b,0x505f |
  * | Timer Routines               |       0x6012       |                |
  * | User Space Interactions      |       0x70e2       | 0x7018,0x702e  |
  * |                             |                    | 0x7020,0x7024  |
index a4855785f54a515a15c146f2efa7bdb94c54aaf2..bea0e7458ee16f29932bd86427885c510088b3b6 100644 (file)
@@ -730,7 +730,7 @@ skip_rio:
                else
                        ha->link_data_rate = mb[1];
 
-               ql_dbg(ql_dbg_async, vha, 0x500a,
+               ql_log(ql_log_info, vha, 0x500a,
                    "LOOP UP detected (%s Gbps).\n",
                    qla2x00_get_link_speed_str(ha, ha->link_data_rate));
 
@@ -743,7 +743,7 @@ skip_rio:
                        ? RD_REG_WORD(&reg24->mailbox4) : 0;
                mbx = (IS_P3P_TYPE(ha)) ? RD_REG_WORD(&reg82->mailbox_out[4])
                        : mbx;
-               ql_dbg(ql_dbg_async, vha, 0x500b,
+               ql_log(ql_log_info, vha, 0x500b,
                    "LOOP DOWN detected (%x %x %x %x).\n",
                    mb[1], mb[2], mb[3], mbx);
 
@@ -908,7 +908,8 @@ skip_rio:
                 * it.  Otherwise ignore it and Wait for RSCN to come in.
                 */
                atomic_set(&vha->loop_down_timer, 0);
-               if (mb[1] != 0xffff || (mb[2] != 0x6 && mb[2] != 0x4)) {
+               if (atomic_read(&vha->loop_state) != LOOP_DOWN &&
+                   atomic_read(&vha->loop_state) != LOOP_DEAD) {
                        ql_dbg(ql_dbg_async, vha, 0x5011,
                            "Asynchronous PORT UPDATE ignored %04x/%04x/%04x.\n",
                            mb[1], mb[2], mb[3]);
@@ -920,9 +921,6 @@ skip_rio:
                ql_dbg(ql_dbg_async, vha, 0x5012,
                    "Port database changed %04x %04x %04x.\n",
                    mb[1], mb[2], mb[3]);
-               ql_log(ql_log_warn, vha, 0x505f,
-                   "Link is operational (%s Gbps).\n",
-                   qla2x00_get_link_speed_str(ha, ha->link_data_rate));
 
                /*
                 * Mark all devices as missing so we will login again.