diff --git a/drivers/net/sfc/efx.c b/drivers/net/sfc/efx.c index 6486657c47b86ee4de771419d0f48b33d88fd196..649a264d6a81b80ee35f54850fce49a4545565c1 100644 --- a/drivers/net/sfc/efx.c +++ b/drivers/net/sfc/efx.c @@ -1861,6 +1861,7 @@ int efx_reset(struct efx_nic *efx, enum reset_type method) } if (disabled) { + dev_close(efx->net_dev); EFX_ERR(efx, "has been disabled\n"); efx->state = STATE_DISABLED; } else { @@ -1884,8 +1885,7 @@ static void efx_reset_work(struct work_struct *data) } rtnl_lock(); - if (efx_reset(efx, efx->reset_pending)) - dev_close(efx->net_dev); + (void)efx_reset(efx, efx->reset_pending); rtnl_unlock(); }