From 37c22657dc2bc49b78b0e5409b30975a85d39a47 Mon Sep 17 00:00:00 2001 From: Qi Duan Date: Thu, 10 Aug 2017 10:55:09 +0800 Subject: [PATCH] system: lock check: remove eth lock warnings [1/1] PD#149023: system: lock check: remove eth lock warnings. Change-Id: Ic4e9e5dcb9e236c159f8e2af54ad2d09df2f9f95 Signed-off-by: Qi Duan Signed-off-by: Yixun Lan --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index ef6bff8..22b3e2d 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -3457,7 +3457,13 @@ int stmmac_suspend(struct device *dev) netif_device_detach(ndev); netif_stop_queue(ndev); + /** + *napi_disable call might_sleep,if not irq restore + *It will warning bug + */ + spin_unlock_irqrestore(&priv->lock, flags); napi_disable(&priv->napi); + spin_lock_irqsave(&priv->lock, flags); /* Stop TX/RX DMA */ priv->hw->dma->stop_tx(priv->ioaddr); @@ -3534,7 +3540,10 @@ int stmmac_resume(struct device *dev) stmmac_clear_descriptors(priv); + spin_unlock_irqrestore(&priv->lock, flags); stmmac_hw_setup(ndev, false); + spin_lock_irqsave(&priv->lock, flags); + stmmac_init_tx_coalesce(priv); stmmac_set_rx_mode(ndev); -- 2.7.4