diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2008-12-22 22:09:53 -0500 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2009-01-07 14:13:24 -0500 |
commit | ef1bba28bfe68ef3c0488feeaabd3e8bc523130c (patch) | |
tree | 609c6ff2f6767894206f6a26e999c90f23b5c8b9 /drivers | |
parent | 6a479079c07211bf348ac8a79754f26bea258f26 (diff) |
net: sfc: Use pci_clear_master() to disable bus mastering
pci_disable_device() disables many features, like MSI-X, which we
never reenable in efx_reset(). Further, calls to pci_enable_device()
and pci_disable_device() must be matched since the nesting count was
introduced, so switch to using pci_clear_master() instead.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/sfc/falcon.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/sfc/falcon.c b/drivers/net/sfc/falcon.c index 6884dc8c1f82..5b9f2d9cc4ed 100644 --- a/drivers/net/sfc/falcon.c +++ b/drivers/net/sfc/falcon.c | |||
@@ -1403,9 +1403,9 @@ static irqreturn_t falcon_fatal_interrupt(struct efx_nic *efx) | |||
1403 | } | 1403 | } |
1404 | 1404 | ||
1405 | /* Disable both devices */ | 1405 | /* Disable both devices */ |
1406 | pci_disable_device(efx->pci_dev); | 1406 | pci_clear_master(efx->pci_dev); |
1407 | if (FALCON_IS_DUAL_FUNC(efx)) | 1407 | if (FALCON_IS_DUAL_FUNC(efx)) |
1408 | pci_disable_device(nic_data->pci_dev2); | 1408 | pci_clear_master(nic_data->pci_dev2); |
1409 | falcon_disable_interrupts(efx); | 1409 | falcon_disable_interrupts(efx); |
1410 | 1410 | ||
1411 | if (++n_int_errors < FALCON_MAX_INT_ERRORS) { | 1411 | if (++n_int_errors < FALCON_MAX_INT_ERRORS) { |