diff options
-rw-r--r-- | drivers/scsi/esp_scsi.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/drivers/scsi/esp_scsi.c b/drivers/scsi/esp_scsi.c index a0b6d414953d..3d5ad243e77f 100644 --- a/drivers/scsi/esp_scsi.c +++ b/drivers/scsi/esp_scsi.c | |||
@@ -219,19 +219,10 @@ static void esp_reset_esp(struct esp *esp) | |||
219 | /* Now reset the ESP chip */ | 219 | /* Now reset the ESP chip */ |
220 | scsi_esp_cmd(esp, ESP_CMD_RC); | 220 | scsi_esp_cmd(esp, ESP_CMD_RC); |
221 | scsi_esp_cmd(esp, ESP_CMD_NULL | ESP_CMD_DMA); | 221 | scsi_esp_cmd(esp, ESP_CMD_NULL | ESP_CMD_DMA); |
222 | if (esp->rev == FAST) | ||
223 | esp_write8(ESP_CONFIG2_FENAB, ESP_CFG2); | ||
222 | scsi_esp_cmd(esp, ESP_CMD_NULL | ESP_CMD_DMA); | 224 | scsi_esp_cmd(esp, ESP_CMD_NULL | ESP_CMD_DMA); |
223 | 225 | ||
224 | /* Reload the configuration registers */ | ||
225 | esp_write8(esp->cfact, ESP_CFACT); | ||
226 | |||
227 | esp->prev_stp = 0; | ||
228 | esp_write8(esp->prev_stp, ESP_STP); | ||
229 | |||
230 | esp->prev_soff = 0; | ||
231 | esp_write8(esp->prev_soff, ESP_SOFF); | ||
232 | |||
233 | esp_write8(esp->neg_defp, ESP_TIMEO); | ||
234 | |||
235 | /* This is the only point at which it is reliable to read | 226 | /* This is the only point at which it is reliable to read |
236 | * the ID-code for a fast ESP chip variants. | 227 | * the ID-code for a fast ESP chip variants. |
237 | */ | 228 | */ |
@@ -316,6 +307,17 @@ static void esp_reset_esp(struct esp *esp) | |||
316 | break; | 307 | break; |
317 | } | 308 | } |
318 | 309 | ||
310 | /* Reload the configuration registers */ | ||
311 | esp_write8(esp->cfact, ESP_CFACT); | ||
312 | |||
313 | esp->prev_stp = 0; | ||
314 | esp_write8(esp->prev_stp, ESP_STP); | ||
315 | |||
316 | esp->prev_soff = 0; | ||
317 | esp_write8(esp->prev_soff, ESP_SOFF); | ||
318 | |||
319 | esp_write8(esp->neg_defp, ESP_TIMEO); | ||
320 | |||
319 | /* Eat any bitrot in the chip */ | 321 | /* Eat any bitrot in the chip */ |
320 | esp_read8(ESP_INTRPT); | 322 | esp_read8(ESP_INTRPT); |
321 | udelay(100); | 323 | udelay(100); |