diff --git a/[refs] b/[refs] index dee0ebc7f242..ab333707b6fc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6032fb56c546c0a14856dc57a92d84560816b217 +refs/heads/master: 5642ceef466365ebc94eb1332d9e6228efa09518 diff --git a/trunk/drivers/net/ethernet/sfc/efx.c b/trunk/drivers/net/ethernet/sfc/efx.c index f02591bb62f4..629029e2037d 100644 --- a/trunk/drivers/net/ethernet/sfc/efx.c +++ b/trunk/drivers/net/ethernet/sfc/efx.c @@ -2164,9 +2164,9 @@ void efx_reset_down(struct efx_nic *efx, enum reset_type method) EFX_ASSERT_RESET_SERIALISED(efx); efx_stop_all(efx); - mutex_lock(&efx->mac_lock); - efx_stop_interrupts(efx, false); + + mutex_lock(&efx->mac_lock); if (efx->port_initialized && method != RESET_TYPE_INVISIBLE) efx->phy_op->fini(efx); efx->type->fini(efx); @@ -2492,11 +2492,11 @@ static void efx_pci_remove(struct pci_dev *pci_dev) rtnl_lock(); efx->state = STATE_UNINIT; dev_close(efx->net_dev); + efx_stop_interrupts(efx, false); /* Allow any queued efx_resets() to complete */ rtnl_unlock(); - efx_stop_interrupts(efx, false); efx_sriov_fini(efx); efx_unregister_netdev(efx);