aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc/tenxpress.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/sfc/tenxpress.c')
-rw-r--r--drivers/net/sfc/tenxpress.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/sfc/tenxpress.c b/drivers/net/sfc/tenxpress.c
index 412d209d8313..f0efd246962c 100644
--- a/drivers/net/sfc/tenxpress.c
+++ b/drivers/net/sfc/tenxpress.c
@@ -370,8 +370,8 @@ static int tenxpress_special_reset(struct efx_nic *efx)
370 370
371 /* The XGMAC clock is driven from the SFC7101/SFT9001 312MHz clock, so 371 /* The XGMAC clock is driven from the SFC7101/SFT9001 312MHz clock, so
372 * a special software reset can glitch the XGMAC sufficiently for stats 372 * a special software reset can glitch the XGMAC sufficiently for stats
373 * requests to fail. Since we don't often special_reset, just lock. */ 373 * requests to fail. */
374 spin_lock(&efx->stats_lock); 374 efx_stats_disable(efx);
375 375
376 /* Initiate reset */ 376 /* Initiate reset */
377 reg = mdio_clause45_read(efx, efx->mii.phy_id, 377 reg = mdio_clause45_read(efx, efx->mii.phy_id,
@@ -386,17 +386,17 @@ static int tenxpress_special_reset(struct efx_nic *efx)
386 rc = mdio_clause45_wait_reset_mmds(efx, 386 rc = mdio_clause45_wait_reset_mmds(efx,
387 TENXPRESS_REQUIRED_DEVS); 387 TENXPRESS_REQUIRED_DEVS);
388 if (rc < 0) 388 if (rc < 0)
389 goto unlock; 389 goto out;
390 390
391 /* Try and reconfigure the device */ 391 /* Try and reconfigure the device */
392 rc = tenxpress_init(efx); 392 rc = tenxpress_init(efx);
393 if (rc < 0) 393 if (rc < 0)
394 goto unlock; 394 goto out;
395 395
396 /* Wait for the XGXS state machine to churn */ 396 /* Wait for the XGXS state machine to churn */
397 mdelay(10); 397 mdelay(10);
398unlock: 398out:
399 spin_unlock(&efx->stats_lock); 399 efx_stats_enable(efx);
400 return rc; 400 return rc;
401} 401}
402 402