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: Robert Elliott <elliott@hp.com> Cc: <stable@vger.kernel.org> Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
883a030f98
commit
b6c92b7e0a
|
@ -2647,14 +2647,14 @@ static void NCR5380_dma_complete(NCR5380_instance * instance) {
|
|||
*
|
||||
* 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.
|
||||
*
|
||||
* 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().
|
||||
*
|
||||
|
@ -2703,7 +2703,7 @@ static int NCR5380_abort(Scsi_Cmnd * cmd) {
|
|||
* aborted flag and get back into our main loop.
|
||||
*/
|
||||
|
||||
return 0;
|
||||
return SUCCESS;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -531,7 +531,7 @@ static int aha1740_eh_abort_handler (Scsi_Cmnd *dummy)
|
|||
* quiet as possible...
|
||||
*/
|
||||
|
||||
return 0;
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
static struct scsi_host_template aha1740_template = {
|
||||
|
|
|
@ -2607,7 +2607,7 @@ static void NCR5380_reselect(struct Scsi_Host *instance)
|
|||
* 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
|
||||
|
|
|
@ -1057,7 +1057,7 @@ int esas2r_eh_abort(struct scsi_cmnd *cmd)
|
|||
|
||||
cmd->scsi_done(cmd);
|
||||
|
||||
return 0;
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
spin_lock_irqsave(&a->queue_lock, flags);
|
||||
|
|
|
@ -1945,7 +1945,7 @@ megaraid_abort_and_reset(adapter_t *adapter, Scsi_Cmnd *cmd, int aor)
|
|||
cmd->device->id, (u32)cmd->device->lun);
|
||||
|
||||
if(list_empty(&adapter->pending_list))
|
||||
return FALSE;
|
||||
return FAILED;
|
||||
|
||||
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)
|
|||
(aor==SCB_ABORT) ? "ABORTING":"RESET",
|
||||
scb->idx);
|
||||
|
||||
return FALSE;
|
||||
return FAILED;
|
||||
}
|
||||
else {
|
||||
|
||||
|
@ -1993,12 +1993,12 @@ megaraid_abort_and_reset(adapter_t *adapter, Scsi_Cmnd *cmd, int aor)
|
|||
list_add_tail(SCSI_LIST(cmd),
|
||||
&adapter->completed_list);
|
||||
|
||||
return TRUE;
|
||||
return SUCCESS;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
return FAILED;
|
||||
}
|
||||
|
||||
static inline int
|
||||
|
|
|
@ -2590,15 +2590,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
|
||||
* 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.
|
||||
*
|
||||
* 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().
|
||||
* called where the loop started in NCR5380_main().
|
||||
*/
|
||||
|
||||
static int NCR5380_abort(struct scsi_cmnd *cmd)
|
||||
|
|
Loading…
Reference in a new issue