diff options
author | Hannes Reinecke <hare@suse.com> | 2017-08-25 07:57:16 -0400 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2017-08-25 17:21:11 -0400 |
commit | 819f80c95575286fd4538ab2fbdfcf7ad9cc0b9a (patch) | |
tree | b3d173ad4598451a3477a66351c6c4a6e7e7912d /drivers/scsi/aha152x.c | |
parent | 71b2e66336fc2746ad072e22d3104a42561b436f (diff) |
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.c | 13 |
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) | |||
1140 | /* | 1140 | /* |
1141 | * Reset the bus | 1141 | * Reset the bus |
1142 | * | 1142 | * |
1143 | * AIC-6260 has a hard reset (MRST signal), but apparently | ||
1144 | * one cannot trigger it via software. So live with | ||
1145 | * a soft reset; no-one seemed to have cared. | ||
1143 | */ | 1146 | */ |
1144 | static int aha152x_bus_reset_host(struct Scsi_Host *shpnt) | 1147 | static int aha152x_bus_reset_host(struct Scsi_Host *shpnt) |
1145 | { | 1148 | { |
@@ -1223,15 +1226,6 @@ int aha152x_host_reset_host(struct Scsi_Host *shpnt) | |||
1223 | } | 1226 | } |
1224 | 1227 | ||
1225 | /* | 1228 | /* |
1226 | * Reset the host (bus and controller) | ||
1227 | * | ||
1228 | */ | ||
1229 | static int aha152x_host_reset(Scsi_Cmnd *SCpnt) | ||
1230 | { | ||
1231 | return aha152x_host_reset_host(SCpnt->device->host); | ||
1232 | } | ||
1233 | |||
1234 | /* | ||
1235 | * Return the "logical geometry" | 1229 | * Return the "logical geometry" |
1236 | * | 1230 | * |
1237 | */ | 1231 | */ |
@@ -2917,7 +2911,6 @@ static struct scsi_host_template aha152x_driver_template = { | |||
2917 | .eh_abort_handler = aha152x_abort, | 2911 | .eh_abort_handler = aha152x_abort, |
2918 | .eh_device_reset_handler = aha152x_device_reset, | 2912 | .eh_device_reset_handler = aha152x_device_reset, |
2919 | .eh_bus_reset_handler = aha152x_bus_reset, | 2913 | .eh_bus_reset_handler = aha152x_bus_reset, |
2920 | .eh_host_reset_handler = aha152x_host_reset, | ||
2921 | .bios_param = aha152x_biosparam, | 2914 | .bios_param = aha152x_biosparam, |
2922 | .can_queue = 1, | 2915 | .can_queue = 1, |
2923 | .this_id = 7, | 2916 | .this_id = 7, |