Commit b6c92b7e authored by Hannes Reinecke's avatar Hannes Reinecke Committed by Christoph Hellwig

scsi: correct return values for .eh_abort_handler implementations

The .eh_abort_handler needs to return SUCCESS, FAILED, or
FAST_IO_FAIL. So fixup all callers to adhere to this requirement.
Reviewed-by: default avatarRobert Elliott <elliott@hp.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 883a030f
...@@ -2647,14 +2647,14 @@ static void NCR5380_dma_complete(NCR5380_instance * instance) { ...@@ -2647,14 +2647,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 * Inputs : cmd - the 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 * XXX - there is no way to abort the command that is currently
* connected, you have to wait for it to complete. If this is * 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().
* *
...@@ -2703,7 +2703,7 @@ static int NCR5380_abort(Scsi_Cmnd * cmd) { ...@@ -2703,7 +2703,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
......
...@@ -531,7 +531,7 @@ static int aha1740_eh_abort_handler (Scsi_Cmnd *dummy) ...@@ -531,7 +531,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 = {
......
...@@ -2607,7 +2607,7 @@ static void NCR5380_reselect(struct Scsi_Host *instance) ...@@ -2607,7 +2607,7 @@ static void NCR5380_reselect(struct Scsi_Host *instance)
* 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 * XXX - there is no way to abort the command that is currently
* connected, you have to wait for it to complete. If this is * connected, you have to wait for it to complete. If this is
......
...@@ -1057,7 +1057,7 @@ int esas2r_eh_abort(struct scsi_cmnd *cmd) ...@@ -1057,7 +1057,7 @@ int esas2r_eh_abort(struct scsi_cmnd *cmd)
cmd->scsi_done(cmd); cmd->scsi_done(cmd);
return 0; return SUCCESS;
} }
spin_lock_irqsave(&a->queue_lock, flags); spin_lock_irqsave(&a->queue_lock, flags);
......
...@@ -1945,7 +1945,7 @@ megaraid_abort_and_reset(adapter_t *adapter, Scsi_Cmnd *cmd, int aor) ...@@ -1945,7 +1945,7 @@ megaraid_abort_and_reset(adapter_t *adapter, Scsi_Cmnd *cmd, int aor)
cmd->device->id, (u32)cmd->device->lun); cmd->device->id, (u32)cmd->device->lun);
if(list_empty(&adapter->pending_list)) 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) {
...@@ -1968,7 +1968,7 @@ megaraid_abort_and_reset(adapter_t *adapter, Scsi_Cmnd *cmd, int aor) ...@@ -1968,7 +1968,7 @@ megaraid_abort_and_reset(adapter_t *adapter, Scsi_Cmnd *cmd, int aor)
(aor==SCB_ABORT) ? "ABORTING":"RESET", (aor==SCB_ABORT) ? "ABORTING":"RESET",
scb->idx); scb->idx);
return FALSE; return FAILED;
} }
else { else {
...@@ -1993,12 +1993,12 @@ megaraid_abort_and_reset(adapter_t *adapter, Scsi_Cmnd *cmd, int aor) ...@@ -1993,12 +1993,12 @@ megaraid_abort_and_reset(adapter_t *adapter, Scsi_Cmnd *cmd, int aor)
list_add_tail(SCSI_LIST(cmd), list_add_tail(SCSI_LIST(cmd),
&adapter->completed_list); &adapter->completed_list);
return TRUE; return SUCCESS;
} }
} }
} }
return FALSE; return FAILED;
} }
static inline int static inline int
......
...@@ -2590,15 +2590,15 @@ static void NCR5380_reselect (struct Scsi_Host *instance) ...@@ -2590,15 +2590,15 @@ static void NCR5380_reselect (struct Scsi_Host *instance)
* Purpose : abort a command * Purpose : abort a command
* *
* Inputs : cmd - the struct scsi_cmnd to abort, code - code to set the * 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 * XXX - there is no way to abort the command that is currently
* connected, you have to wait for it to complete. If this is * 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)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment