diff options
author | Kleber Sacilotto de Souza <klebers@linux.vnet.ibm.com> | 2012-01-16 19:30:25 -0200 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-02-18 08:33:13 -0600 |
commit | a92fa25c63a788758bd52e9123504d133210c8b7 (patch) | |
tree | bec201c46aa5ae21f2006bb87ad744741b35e241 /drivers/scsi/mvumi.c | |
parent | 7fbd764881a5f9dc81a378293b7a74227fcc04ed (diff) | |
download | op-kernel-dev-a92fa25c63a788758bd52e9123504d133210c8b7.zip op-kernel-dev-a92fa25c63a788758bd52e9123504d133210c8b7.tar.gz |
[SCSI] ipr: fix eeh recovery for 64-bit adapters
In some scenarios, an EEH error can take a long time to be detected, since the
driver issues an MMIO read only after a device reset command times out and we
try to reset the adapter. This patch adds some code in ipr_cancel_op() to read
a hardware register so we detect the error earlier in case the op is being
aborted because of a timeout caused by a frozen adapter slot.
Another problem in such scenarios is that in __ipr_eh_host_reset() we change the
dump state flag from WAIT_FOR_DUMP to GET_DUMP, and the flag is later changed
from GET_DUMP to READ_DUMP in ipr_reset_restore_cfg_space(). However, if when
__ipr_eh_host_reset() is called by the SCSI error handling the function
ipr_reset_restore_cfg_space() has already been called by the PCI EEH code, we
end up with the flag in an inconsistent state. This patch also prevents this
problem.
Signed-off-by: Kleber Sacilotto de Souza <klebers@linux.vnet.ibm.com>
Acked-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/mvumi.c')
0 files changed, 0 insertions, 0 deletions