[SCSI] qla2xxx: Display proper link state for disconnected ports.
authorAndrew Vasquez <andrew.vasquez@qlogic.com>
Tue, 4 May 2010 22:01:22 +0000 (15:01 -0700)
committerJames Bottomley <James.Bottomley@suse.de>
Sun, 16 May 2010 22:21:31 +0000 (18:21 -0400)
With qla2xxx using mid-layer async-scsi-scanning, the link state for
disconnected port is displayed wrong. Additional check for cable presence
is considered to display proper link state.

Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/qla2xxx/qla_attr.c

index d416c35..5c98b09 100644 (file)
@@ -987,7 +987,8 @@ qla2x00_link_state_show(struct device *dev, struct device_attribute *attr,
        int len = 0;
 
        if (atomic_read(&vha->loop_state) == LOOP_DOWN ||
-           atomic_read(&vha->loop_state) == LOOP_DEAD)
+           atomic_read(&vha->loop_state) == LOOP_DEAD ||
+           vha->device_flags & DFLG_NO_CABLE)
                len = snprintf(buf, PAGE_SIZE, "Link Down\n");
        else if (atomic_read(&vha->loop_state) != LOOP_READY ||
            test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags) ||