]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
scsi/lpfc: Fixed kernel panic after scsi_eh escalation by checking the proper return...
authorVaios Papadimitriou <vaios.papadimitriou@emulex.com>
Tue, 28 Aug 2012 22:57:17 +0000 (15:57 -0700)
committerJerry Snitselaar <jerry.snitselaar@oracle.com>
Wed, 5 Sep 2012 19:25:47 +0000 (12:25 -0700)
commit id: http://marc.info/?l=linux-scsi&m=134401197206322

Signed-off-by: Jerry Snitselaar <jerry.snitselaar@oracle.com>
drivers/scsi/lpfc/lpfc_scsi.c

index bd069b56040fb5bae0572eb5826214a1dbbecd1e..1b684a12eb8000d540ef13e90a3a0e8b796d1205 100644 (file)
@@ -4414,7 +4414,7 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
        DECLARE_WAIT_QUEUE_HEAD_ONSTACK(waitq);
 
        status = fc_block_scsi_eh(cmnd);
-       if (status)
+       if (status != 0 && status != SUCCESS)
                return status;
        lpfc_cmd = (struct lpfc_scsi_buf *)cmnd->host_scribble;
        if (!lpfc_cmd) {
@@ -4743,7 +4743,7 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
        }
        pnode = rdata->pnode;
        status = fc_block_scsi_eh(cmnd);
-       if (status)
+       if (status != 0 && status != SUCCESS)
                return status;
 
        status = lpfc_chk_tgt_mapped(vport, cmnd);
@@ -4810,7 +4810,7 @@ lpfc_target_reset_handler(struct scsi_cmnd *cmnd)
        }
        pnode = rdata->pnode;
        status = fc_block_scsi_eh(cmnd);
-       if (status)
+       if (status != 0 && status != SUCCESS)
                return status;
 
        status = lpfc_chk_tgt_mapped(vport, cmnd);
@@ -4878,7 +4878,7 @@ lpfc_bus_reset_handler(struct scsi_cmnd *cmnd)
                sizeof(scsi_event), (char *)&scsi_event, LPFC_NL_VENDOR_ID);
 
        status = fc_block_scsi_eh(cmnd);
-       if (status)
+       if (status != 0 && status != SUCCESS)
                return status;
 
        /*