[SCSI] qla4xxx: put device in FAILED state for 82XX initialization failure
authorLalit Chandivade <lalit.chandivade@qlogic.com>
Fri, 3 Dec 2010 06:12:36 +0000 (22:12 -0800)
committerJames Bottomley <James.Bottomley@suse.de>
Tue, 21 Dec 2010 18:24:40 +0000 (12:24 -0600)
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: Lalit Chandivade <lalit.chandivade@qlogic.com>
Signed-off-by: Ravi Anand <ravi.anand@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/qla4xxx/ql4_os.c

index 0d48fb4d1044480d8743ed355019891d1d03e907..fa5ddadf48693173fd9ab14526cef43c1904e1e5 100644 (file)
@@ -1721,6 +1721,14 @@ static int __devinit qla4xxx_probe_adapter(struct pci_dev *pdev,
        if (!test_bit(AF_ONLINE, &ha->flags)) {
                ql4_printk(KERN_WARNING, ha, "Failed to initialize adapter\n");
 
+               if (is_qla8022(ha) && ql4xdontresethba) {
+                       /* Put the device in failed state. */
+                       DEBUG2(printk(KERN_ERR "HW STATE: FAILED\n"));
+                       qla4_8xxx_idc_lock(ha);
+                       qla4_8xxx_wr_32(ha, QLA82XX_CRB_DEV_STATE,
+                           QLA82XX_DEV_FAILED);
+                       qla4_8xxx_idc_unlock(ha);
+               }
                ret = -ENODEV;
                goto probe_failed;
        }