forked from luck/tmp_suning_uos_patched
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>
This commit is contained in:
parent
71b2e66336
commit
819f80c955
|
@ -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)
|
||||
{
|
||||
|
@ -1222,15 +1225,6 @@ int aha152x_host_reset_host(struct Scsi_Host *shpnt)
|
|||
return SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* 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,
|
||||
|
|
Loading…
Reference in New Issue
Block a user