diff options
| author | Stephen M. Cameron <scameron@beardog.cce.hp.com> | 2013-12-04 18:10:31 -0500 |
|---|---|---|
| committer | James Bottomley <JBottomley@Parallels.com> | 2013-12-19 23:56:30 -0500 |
| commit | 0ddf1d77505fd97daa7fc70bb0498c54a5c33725 (patch) | |
| tree | 6cb76edcdb4b098330bbb27ce0b5fa222c8ac2d0 | |
| parent | 28e1344647349ea215c818072e45bee887f2192a (diff) | |
[SCSI] hpsa: do not require board "not ready" status after hard reset
Immediately following a hard board reset, There are some
mandatory delays during which we must not access the board
and during which we might miss the "not ready" status,
therefore it is a mistake to look for and expect to see
the "not ready" status.
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
| -rw-r--r-- | drivers/scsi/hpsa.c | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index b146cafc50b1..d5f2ff9918fa 100644 --- a/drivers/scsi/hpsa.c +++ b/drivers/scsi/hpsa.c | |||
| @@ -4048,23 +4048,6 @@ static int hpsa_kdump_hard_reset_controller(struct pci_dev *pdev) | |||
| 4048 | need a little pause here */ | 4048 | need a little pause here */ |
| 4049 | msleep(HPSA_POST_RESET_PAUSE_MSECS); | 4049 | msleep(HPSA_POST_RESET_PAUSE_MSECS); |
| 4050 | 4050 | ||
| 4051 | if (!use_doorbell) { | ||
| 4052 | /* Wait for board to become not ready, then ready. | ||
| 4053 | * (if we used the doorbell, then we already waited 5 secs | ||
| 4054 | * so the "not ready" state is already gone by so we | ||
| 4055 | * won't catch it.) | ||
| 4056 | */ | ||
| 4057 | dev_info(&pdev->dev, "Waiting for board to reset.\n"); | ||
| 4058 | rc = hpsa_wait_for_board_state(pdev, vaddr, BOARD_NOT_READY); | ||
| 4059 | if (rc) { | ||
| 4060 | dev_warn(&pdev->dev, | ||
| 4061 | "failed waiting for board to reset." | ||
| 4062 | " Will try soft reset.\n"); | ||
| 4063 | /* Not expected, but try soft reset later */ | ||
| 4064 | rc = -ENOTSUPP; | ||
| 4065 | goto unmap_cfgtable; | ||
| 4066 | } | ||
| 4067 | } | ||
| 4068 | rc = hpsa_wait_for_board_state(pdev, vaddr, BOARD_READY); | 4051 | rc = hpsa_wait_for_board_state(pdev, vaddr, BOARD_READY); |
| 4069 | if (rc) { | 4052 | if (rc) { |
| 4070 | dev_warn(&pdev->dev, | 4053 | dev_warn(&pdev->dev, |
