diff options
author | Alexandre Rames <arames@solarflare.com> | 2013-03-21 20:41:43 +0400 |
---|---|---|
committer | Ben Hutchings <bhutchings@solarflare.com> | 2013-06-24 22:58:25 +0400 |
commit | b28405b0f25c91b52350fd558c219f08e5033eaf (patch) | |
tree | aaf3d37c96a0a789ae23dd4f751cd9c57f24a1c8 /drivers/net/ethernet/sfc/efx.h | |
parent | 37173488400704f1a05656616cd12baa9e03173b (diff) | |
download | linux-b28405b0f25c91b52350fd558c219f08e5033eaf.tar.xz |
sfc: Fix EEH with legacy interrupts.
PCI legacy interrupts are level-triggered, and we cannot mask them up
on an isolated device. Instead, disable the IRQ at the controller
until we have recovered.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Diffstat (limited to 'drivers/net/ethernet/sfc/efx.h')
-rw-r--r-- | drivers/net/ethernet/sfc/efx.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/sfc/efx.h b/drivers/net/ethernet/sfc/efx.h index 8372da239b43..bdb30bbb0c97 100644 --- a/drivers/net/ethernet/sfc/efx.h +++ b/drivers/net/ethernet/sfc/efx.h @@ -124,6 +124,7 @@ extern const struct ethtool_ops efx_ethtool_ops; extern int efx_reset(struct efx_nic *efx, enum reset_type method); extern void efx_reset_down(struct efx_nic *efx, enum reset_type method); extern int efx_reset_up(struct efx_nic *efx, enum reset_type method, bool ok); +extern int efx_try_recovery(struct efx_nic *efx); /* Global */ extern void efx_schedule_reset(struct efx_nic *efx, enum reset_type type); |