diff options
author | Steve Hodgson <shodgson@solarflare.com> | 2010-04-28 13:28:52 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-28 23:44:36 +0400 |
commit | 97e1eaa0e943439208a692b00dce4a8a3006760f (patch) | |
tree | 7cf4548e8f8ccd304d1746c035479026f7771a01 /drivers/net/sfc/nic.c | |
parent | b548a988a9d08f2b06f6810b1a4cde6f632bd307 (diff) | |
download | linux-97e1eaa0e943439208a692b00dce4a8a3006760f.tar.xz |
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/nic.c')
-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 b61674cb0c19..4105f9099c7c 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) error ? "disabling bus mastering" : "no recognised error"); /* If this is a memory parity error dump which blocks are offending */ - mem_perr = EFX_OWORD_FIELD(fatal_intr, FRF_AZ_MEM_PERR_INT_KER); + mem_perr = (EFX_OWORD_FIELD(fatal_intr, FRF_AZ_MEM_PERR_INT_KER) || + EFX_OWORD_FIELD(fatal_intr, FRF_AZ_SRM_PERR_INT_KER)); if (mem_perr) { efx_oword_t reg; efx_reado(efx, ®, FR_AZ_MEM_STAT); |