qla2xxx: Fix beacon blink logic for ISP26xx/83xx.
authorHimanshu Madani <himanshu.madani@qlogic.com>
Fri, 11 Apr 2014 20:54:40 +0000 (16:54 -0400)
committerChristoph Hellwig <hch@lst.de>
Mon, 19 May 2014 11:31:05 +0000 (13:31 +0200)
Signed-off-by: Himanshu Madani <himanshu.madani@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/scsi/qla2xxx/qla_os.c
drivers/scsi/qla2xxx/qla_sup.c

index 575404fbcbeceab1751d42086c10f17127afb0af..ef6332b61c1847c9f40ad0525de013eadd80ce1c 100644 (file)
@@ -5127,8 +5127,10 @@ intr_on_check:
                        ha->isp_ops->enable_intrs(ha);
 
                if (test_and_clear_bit(BEACON_BLINK_NEEDED,
-                                       &base_vha->dpc_flags))
-                       ha->isp_ops->beacon_blink(base_vha);
+                                       &base_vha->dpc_flags)) {
+                       if (ha->beacon_blink_led == 1)
+                               ha->isp_ops->beacon_blink(base_vha);
+               }
 
                if (!IS_QLAFX00(ha))
                        qla2x00_do_dpc_all_vps(base_vha);
index 5dcaaca7cdf2ac8bd1629d91518782f0bdd7f5ab..bca173e56f1610e3f854515ab24493a814ebfd03 100644 (file)
@@ -1727,11 +1727,8 @@ qla83xx_beacon_blink(struct scsi_qla_host *vha)
        if (IS_QLA2031(ha)) {
                led_select_value = qla83xx_select_led_port(ha);
 
-               qla83xx_wr_reg(vha, led_select_value, 0x40002000);
-               qla83xx_wr_reg(vha, led_select_value + 4, 0x40002000);
-               msleep(1000);
-               qla83xx_wr_reg(vha, led_select_value, 0x40004000);
-               qla83xx_wr_reg(vha, led_select_value + 4, 0x40004000);
+               qla83xx_wr_reg(vha, led_select_value, 0x40000230);
+               qla83xx_wr_reg(vha, led_select_value + 4, 0x40000230);
        } else if (IS_QLA8031(ha)) {
                led_select_value = qla83xx_select_led_port(ha);