|
@@ -2664,11 +2664,11 @@ static int NCR5380_abort(struct scsi_cmnd *cmd)
|
|
|
#endif
|
|
|
local_irq_restore(flags);
|
|
|
cmd->scsi_done(cmd);
|
|
|
- return SCSI_ABORT_SUCCESS;
|
|
|
+ return SUCCESS;
|
|
|
} else {
|
|
|
/* local_irq_restore(flags); */
|
|
|
printk("scsi%d: abort of connected command failed!\n", HOSTNO);
|
|
|
- return SCSI_ABORT_ERROR;
|
|
|
+ return FAILED;
|
|
|
}
|
|
|
}
|
|
|
#endif
|
|
@@ -2691,7 +2691,7 @@ static int NCR5380_abort(struct scsi_cmnd *cmd)
|
|
|
/* Tagged queuing note: no tag to free here, hasn't been assigned
|
|
|
* yet... */
|
|
|
tmp->scsi_done(tmp);
|
|
|
- return SCSI_ABORT_SUCCESS;
|
|
|
+ return SUCCESS;
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -2708,7 +2708,7 @@ static int NCR5380_abort(struct scsi_cmnd *cmd)
|
|
|
if (hostdata->connected) {
|
|
|
local_irq_restore(flags);
|
|
|
ABRT_PRINTK("scsi%d: abort failed, command connected.\n", HOSTNO);
|
|
|
- return SCSI_ABORT_SNOOZE;
|
|
|
+ return FAILED;
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -2743,7 +2743,7 @@ static int NCR5380_abort(struct scsi_cmnd *cmd)
|
|
|
ABRT_PRINTK("scsi%d: aborting disconnected command.\n", HOSTNO);
|
|
|
|
|
|
if (NCR5380_select (instance, cmd, (int) cmd->tag))
|
|
|
- return SCSI_ABORT_BUSY;
|
|
|
+ return FAILED;
|
|
|
|
|
|
ABRT_PRINTK("scsi%d: nexus reestablished.\n", HOSTNO);
|
|
|
|
|
@@ -2769,7 +2769,7 @@ static int NCR5380_abort(struct scsi_cmnd *cmd)
|
|
|
#endif
|
|
|
local_irq_restore(flags);
|
|
|
tmp->scsi_done(tmp);
|
|
|
- return SCSI_ABORT_SUCCESS;
|
|
|
+ return SUCCESS;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2786,7 +2786,7 @@ static int NCR5380_abort(struct scsi_cmnd *cmd)
|
|
|
local_irq_restore(flags);
|
|
|
printk(KERN_INFO "scsi%d: warning : SCSI command probably completed successfully before abortion\n", HOSTNO);
|
|
|
|
|
|
- return SCSI_ABORT_NOT_RUNNING;
|
|
|
+ return FAILED;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -2795,7 +2795,7 @@ static int NCR5380_abort(struct scsi_cmnd *cmd)
|
|
|
*
|
|
|
* Purpose : reset the SCSI bus.
|
|
|
*
|
|
|
- * Returns : SCSI_RESET_WAKEUP
|
|
|
+ * Returns : SUCCESS or FAILURE
|
|
|
*
|
|
|
*/
|
|
|
|
|
@@ -2804,7 +2804,7 @@ static int NCR5380_bus_reset(struct scsi_cmnd *cmd)
|
|
|
SETUP_HOSTDATA(cmd->device->host);
|
|
|
int i;
|
|
|
unsigned long flags;
|
|
|
-#if 1
|
|
|
+#if defined(RESET_RUN_DONE)
|
|
|
struct scsi_cmnd *connected, *disconnected_queue;
|
|
|
#endif
|
|
|
|
|
@@ -2826,8 +2826,15 @@ static int NCR5380_bus_reset(struct scsi_cmnd *cmd)
|
|
|
* through anymore ... */
|
|
|
(void)NCR5380_read( RESET_PARITY_INTERRUPT_REG );
|
|
|
|
|
|
-#if 1 /* XXX Should now be done by midlevel code, but it's broken XXX */
|
|
|
- /* XXX see below XXX */
|
|
|
+ /* MSch 20140115 - looking at the generic NCR5380 driver, all of this
|
|
|
+ * should go.
|
|
|
+ * Catch-22: if we don't clear all queues, the SCSI driver lock will
|
|
|
+ * not be released by atari_scsi_reset()!
|
|
|
+ */
|
|
|
+
|
|
|
+#if defined(RESET_RUN_DONE)
|
|
|
+ /* XXX Should now be done by midlevel code, but it's broken XXX */
|
|
|
+ /* XXX see below XXX */
|
|
|
|
|
|
/* MSch: old-style reset: actually abort all command processing here */
|
|
|
|
|
@@ -2876,7 +2883,7 @@ static int NCR5380_bus_reset(struct scsi_cmnd *cmd)
|
|
|
* the midlevel code that the reset was SUCCESSFUL, and there is no
|
|
|
* need to 'wake up' the commands by a request_sense
|
|
|
*/
|
|
|
- return SCSI_RESET_SUCCESS | SCSI_RESET_BUS_RESET;
|
|
|
+ return SUCCESS;
|
|
|
#else /* 1 */
|
|
|
|
|
|
/* MSch: new-style reset handling: let the mid-level do what it can */
|
|
@@ -2924,7 +2931,7 @@ static int NCR5380_bus_reset(struct scsi_cmnd *cmd)
|
|
|
local_irq_restore(flags);
|
|
|
|
|
|
/* we did no complete reset of all commands, so a wakeup is required */
|
|
|
- return SCSI_RESET_WAKEUP | SCSI_RESET_BUS_RESET;
|
|
|
+ return SUCCESS;
|
|
|
#endif /* 1 */
|
|
|
}
|
|
|
|