summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aha152x.c
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.com>2017-08-25 13:57:16 +0200
committerMartin K. Petersen <martin.petersen@oracle.com>2017-08-25 23:21:11 +0200
commit819f80c95575286fd4538ab2fbdfcf7ad9cc0b9a (patch)
treeb3d173ad4598451a3477a66351c6c4a6e7e7912d /drivers/scsi/aha152x.c
parentscsi: nsp32: drop bus reset (diff)
downloadlinux-819f80c95575286fd4538ab2fbdfcf7ad9cc0b9a.tar.xz
linux-819f80c95575286fd4538ab2fbdfcf7ad9cc0b9a.zip
scsi: aha152x: drop host reset
The driver has both a bus and a host reset, where the host reset does a bus reset followed by an attempt to reset the chip registers to a default state. However, as the bus reset always returned SUCCESS the host reset was never called, so the functionality of the register reset function was never validated. Additionally, tha AIC-6260 chip has a hard reset line, which actually should be preferred for a host reset. But I haven't found a way how this can be triggered via software, so take the safe approach and drop the host reset. [mkp: typo] Signed-off-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/aha152x.c')
-rw-r--r--drivers/scsi/aha152x.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/scsi/aha152x.c b/drivers/scsi/aha152x.c
index ce5dc73d85bb..bc0058df31c6 100644
--- a/drivers/scsi/aha152x.c
+++ b/drivers/scsi/aha152x.c
@@ -1140,6 +1140,9 @@ static void free_hard_reset_SCs(struct Scsi_Host *shpnt, Scsi_Cmnd **SCs)
/*
* Reset the bus
*
+ * AIC-6260 has a hard reset (MRST signal), but apparently
+ * one cannot trigger it via software. So live with
+ * a soft reset; no-one seemed to have cared.
*/
static int aha152x_bus_reset_host(struct Scsi_Host *shpnt)
{
@@ -1223,15 +1226,6 @@ int aha152x_host_reset_host(struct Scsi_Host *shpnt)
}
/*
- * Reset the host (bus and controller)
- *
- */
-static int aha152x_host_reset(Scsi_Cmnd *SCpnt)
-{
- return aha152x_host_reset_host(SCpnt->device->host);
-}
-
-/*
* Return the "logical geometry"
*
*/
@@ -2917,7 +2911,6 @@ static struct scsi_host_template aha152x_driver_template = {
.eh_abort_handler = aha152x_abort,
.eh_device_reset_handler = aha152x_device_reset,
.eh_bus_reset_handler = aha152x_bus_reset,
- .eh_host_reset_handler = aha152x_host_reset,
.bios_param = aha152x_biosparam,
.can_queue = 1,
.this_id = 7,