Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 38C43C433EF for ; Fri, 19 Nov 2021 17:39:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 23FB46128B for ; Fri, 19 Nov 2021 17:39:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232603AbhKSRmK (ORCPT ); Fri, 19 Nov 2021 12:42:10 -0500 Received: from mail.kernel.org ([198.145.29.99]:43456 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235057AbhKSRlu (ORCPT ); Fri, 19 Nov 2021 12:41:50 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 8720561139; Fri, 19 Nov 2021 17:38:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1637343529; bh=spmsTUE3/RWq/bfFbps4+I7b/cVQdNX7t9Uzu/giBmU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Ig2L5F/XcKOas0KSPsUGEa3ihGw77ruM+yfqnlzD17nW8WfyAtXLhD5XC4zCTM7ro fGTMXwQVrk3LfApJycioYBuTVi8FoVBjtv38KePoT6PSe11mQ58QhbNZxCf253DhVc vY60v8jvUg+xvnMUVjIBnc910Jlu9KhRARZenXVo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Joakim Zhang , "David S. Miller" , Meng Li Subject: [PATCH 5.10 08/21] net: stmmac: fix system hang if change mac address after interface ifdown Date: Fri, 19 Nov 2021 18:37:43 +0100 Message-Id: <20211119171444.156160658@linuxfoundation.org> X-Mailer: git-send-email 2.34.0 In-Reply-To: <20211119171443.892729043@linuxfoundation.org> References: <20211119171443.892729043@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Joakim Zhang commit 4691ffb18ac908609aab07d13af7995b6b89d33c upstream. Fix system hang with below sequences: ~# ifconfig ethx down ~# ifconfig ethx hw ether xx:xx:xx:xx:xx:xx After ethx down, stmmac all clocks gated off and then register access causes system hang. Fixes: 5ec55823438e ("net: stmmac: add clocks management for gmac driver") Signed-off-by: Joakim Zhang Signed-off-by: David S. Miller Signed-off-by: Meng Li Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -4324,12 +4324,21 @@ static int stmmac_set_mac_address(struct struct stmmac_priv *priv = netdev_priv(ndev); int ret = 0; + ret = pm_runtime_get_sync(priv->device); + if (ret < 0) { + pm_runtime_put_noidle(priv->device); + return ret; + } + ret = eth_mac_addr(ndev, addr); if (ret) - return ret; + goto set_mac_error; stmmac_set_umac_addr(priv, priv->hw, ndev->dev_addr, 0); +set_mac_error: + pm_runtime_put(priv->device); + return ret; }