diff options
author | Steve Hodgson <shodgson@solarflare.com> | 2010-04-28 05:28:52 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-28 15:44:36 -0400 |
commit | 97e1eaa0e943439208a692b00dce4a8a3006760f (patch) | |
tree | 7cf4548e8f8ccd304d1746c035479026f7771a01 /drivers/net/sfc | |
parent | b548a988a9d08f2b06f6810b1a4cde6f632bd307 (diff) |
sfc: Read MEM_STAT for SRM_PERR as well as MEM_PERR errors
Parity errors in different blocks of SRAM may set one of two different
interrupt flags.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc')
-rw-r--r-- | drivers/net/sfc/nic.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/sfc/nic.c b/drivers/net/sfc/nic.c index b61674cb0c1..4105f9099c7 100644 --- a/drivers/net/sfc/nic.c +++ b/drivers/net/sfc/nic.c | |||
@@ -1287,7 +1287,8 @@ irqreturn_t efx_nic_fatal_interrupt(struct efx_nic *efx) | |||
1287 | error ? "disabling bus mastering" : "no recognised error"); | 1287 | error ? "disabling bus mastering" : "no recognised error"); |
1288 | 1288 | ||
1289 | /* If this is a memory parity error dump which blocks are offending */ | 1289 | /* If this is a memory parity error dump which blocks are offending */ |
1290 | mem_perr = EFX_OWORD_FIELD(fatal_intr, FRF_AZ_MEM_PERR_INT_KER); | 1290 | mem_perr = (EFX_OWORD_FIELD(fatal_intr, FRF_AZ_MEM_PERR_INT_KER) || |
1291 | EFX_OWORD_FIELD(fatal_intr, FRF_AZ_SRM_PERR_INT_KER)); | ||
1291 | if (mem_perr) { | 1292 | if (mem_perr) { |
1292 | efx_oword_t reg; | 1293 | efx_oword_t reg; |
1293 | efx_reado(efx, ®, FR_AZ_MEM_STAT); | 1294 | efx_reado(efx, ®, FR_AZ_MEM_STAT); |