qla2xxx: Fix beacon blink for ISP27XX.
authorNigel Kirkland <nigel.kirkland@qlogic.com>
Thu, 9 Apr 2015 18:59:58 +0000 (14:59 -0400)
committerJames Bottomley <JBottomley@Odin.com>
Fri, 10 Apr 2015 15:41:40 +0000 (08:41 -0700)
Signed-off-by: Nigel Kirkland <nigel.kirkland@qlogic.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
drivers/scsi/qla2xxx/qla_sup.c

index b656a05613e87a8ee5da46b20bd884d74cd20937..028e8c8a7de9a897ac68ad8c09a2d47be0276f5c 100644 (file)
@@ -1718,13 +1718,16 @@ qla83xx_beacon_blink(struct scsi_qla_host *vha)
        uint16_t orig_led_cfg[6];
        uint32_t led_10_value, led_43_value;
 
-       if (!IS_QLA83XX(ha) && !IS_QLA81XX(ha))
+       if (!IS_QLA83XX(ha) && !IS_QLA81XX(ha) && !IS_QLA27XX(ha))
                return;
 
        if (!ha->beacon_blink_led)
                return;
 
-       if (IS_QLA2031(ha)) {
+       if (IS_QLA27XX(ha)) {
+               qla2x00_write_ram_word(vha, 0x1003, 0x40000230);
+               qla2x00_write_ram_word(vha, 0x1004, 0x40000230);
+       } else if (IS_QLA2031(ha)) {
                led_select_value = qla83xx_select_led_port(ha);
 
                qla83xx_wr_reg(vha, led_select_value, 0x40000230);
@@ -1811,7 +1814,7 @@ qla24xx_beacon_on(struct scsi_qla_host *vha)
                        return QLA_FUNCTION_FAILED;
                }
 
-               if (IS_QLA2031(ha))
+               if (IS_QLA2031(ha) || IS_QLA27XX(ha))
                        goto skip_gpio;
 
                spin_lock_irqsave(&ha->hardware_lock, flags);
@@ -1848,7 +1851,7 @@ qla24xx_beacon_off(struct scsi_qla_host *vha)
 
        ha->beacon_blink_led = 0;
 
-       if (IS_QLA2031(ha))
+       if (IS_QLA2031(ha) || IS_QLA27XX(ha))
                goto set_fw_options;
 
        if (IS_QLA8031(ha) || IS_QLA81XX(ha))