scsi: correct return values for .eh_abort_handler implementations
authorHannes Reinecke <hare@suse.de>
Thu, 30 Oct 2014 08:44:36 +0000 (09:44 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 20 Feb 2015 00:49:24 +0000 (00:49 +0000)
commit b6c92b7e0af575e2b8b05bdf33633cf9e1661cbf upstream.

The .eh_abort_handler needs to return SUCCESS, FAILED, or
FAST_IO_FAIL. So fixup all callers to adhere to this requirement.

Reviewed-by: Robert Elliott <elliott@hp.com>
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
[bwh: Backported to 3.2: drop changes to esas2r]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/scsi/NCR5380.c
drivers/scsi/aha1740.c
drivers/scsi/atari_NCR5380.c
drivers/scsi/megaraid.c
drivers/scsi/sun3_NCR5380.c

index 165e4dd..a57f85a 100644 (file)
@@ -2662,14 +2662,14 @@ static void NCR5380_dma_complete(NCR5380_instance * instance) {
  *
  * Purpose : abort a command
  *
  *
  * Purpose : abort a command
  *
- * Inputs : cmd - the Scsi_Cmnd to abort, code - code to set the 
- *      host byte of the result field to, if zero DID_ABORTED is 
+ * Inputs : cmd - the Scsi_Cmnd to abort, code - code to set the
+ *      host byte of the result field to, if zero DID_ABORTED is
  *      used.
  *
  *      used.
  *
- * Returns : 0 - success, -1 on failure.
+ * Returns : SUCCESS - success, FAILED on failure.
  *
  *
- *     XXX - there is no way to abort the command that is currently 
- *     connected, you have to wait for it to complete.  If this is 
+ *     XXX - there is no way to abort the command that is currently
+ *     connected, you have to wait for it to complete.  If this is
  *     a problem, we could implement longjmp() / setjmp(), setjmp()
  *     called where the loop started in NCR5380_main().
  *
  *     a problem, we could implement longjmp() / setjmp(), setjmp()
  *     called where the loop started in NCR5380_main().
  *
@@ -2719,7 +2719,7 @@ static int NCR5380_abort(Scsi_Cmnd * cmd) {
  * aborted flag and get back into our main loop.
  */
 
  * aborted flag and get back into our main loop.
  */
 
-               return 0;
+               return SUCCESS;
        }
 #endif
 
        }
 #endif
 
index 1c10b79..7f7dc2b 100644 (file)
@@ -551,7 +551,7 @@ static int aha1740_eh_abort_handler (Scsi_Cmnd *dummy)
  * quiet as possible...
  */
 
  * quiet as possible...
  */
 
-       return 0;
+       return SUCCESS;
 }
 
 static struct scsi_host_template aha1740_template = {
 }
 
 static struct scsi_host_template aha1740_template = {
index 2db79b4..589c2a3 100644 (file)
@@ -2638,7 +2638,7 @@ static void NCR5380_reselect(struct Scsi_Host *instance)
  *     host byte of the result field to, if zero DID_ABORTED is
  *     used.
  *
  *     host byte of the result field to, if zero DID_ABORTED is
  *     used.
  *
- * Returns : 0 - success, -1 on failure.
+ * Returns : SUCCESS - success, FAILED on failure.
  *
  * XXX - there is no way to abort the command that is currently
  *      connected, you have to wait for it to complete.  If this is
  *
  * XXX - there is no way to abort the command that is currently
  *      connected, you have to wait for it to complete.  If this is
index 5c17764..04240a4 100644 (file)
@@ -1964,7 +1964,7 @@ megaraid_abort_and_reset(adapter_t *adapter, Scsi_Cmnd *cmd, int aor)
             cmd->device->id, cmd->device->lun);
 
        if(list_empty(&adapter->pending_list))
             cmd->device->id, cmd->device->lun);
 
        if(list_empty(&adapter->pending_list))
-               return FALSE;
+               return FAILED;
 
        list_for_each_safe(pos, next, &adapter->pending_list) {
 
 
        list_for_each_safe(pos, next, &adapter->pending_list) {
 
@@ -1987,7 +1987,7 @@ megaraid_abort_and_reset(adapter_t *adapter, Scsi_Cmnd *cmd, int aor)
                                        (aor==SCB_ABORT) ? "ABORTING":"RESET",
                                        scb->idx);
 
                                        (aor==SCB_ABORT) ? "ABORTING":"RESET",
                                        scb->idx);
 
-                               return FALSE;
+                               return FAILED;
                        }
                        else {
 
                        }
                        else {
 
@@ -2012,12 +2012,12 @@ megaraid_abort_and_reset(adapter_t *adapter, Scsi_Cmnd *cmd, int aor)
                                list_add_tail(SCSI_LIST(cmd),
                                                &adapter->completed_list);
 
                                list_add_tail(SCSI_LIST(cmd),
                                                &adapter->completed_list);
 
-                               return TRUE;
+                               return SUCCESS;
                        }
                }
        }
 
                        }
                }
        }
 
-       return FALSE;
+       return FAILED;
 }
 
 static inline int
 }
 
 static inline int
index 7e12a2e..9aaf084 100644 (file)
@@ -2624,15 +2624,15 @@ static void NCR5380_reselect (struct Scsi_Host *instance)
  * Purpose : abort a command
  *
  * Inputs : cmd - the struct scsi_cmnd to abort, code - code to set the
  * Purpose : abort a command
  *
  * Inputs : cmd - the struct scsi_cmnd to abort, code - code to set the
- *     host byte of the result field to, if zero DID_ABORTED is 
+ *     host byte of the result field to, if zero DID_ABORTED is
  *     used.
  *
  *     used.
  *
- * Returns : 0 - success, -1 on failure.
+ * Returns : SUCCESS - success, FAILED on failure.
  *
  *
- * XXX - there is no way to abort the command that is currently 
- *      connected, you have to wait for it to complete.  If this is 
+ * XXX - there is no way to abort the command that is currently
+ *      connected, you have to wait for it to complete.  If this is
  *      a problem, we could implement longjmp() / setjmp(), setjmp()
  *      a problem, we could implement longjmp() / setjmp(), setjmp()
- *      called where the loop started in NCR5380_main().
+ *      called where the loop started in NCR5380_main().
  */
 
 static int NCR5380_abort(struct scsi_cmnd *cmd)
  */
 
 static int NCR5380_abort(struct scsi_cmnd *cmd)