Received: by 2002:a17:90a:bc8d:0:0:0:0 with SMTP id x13csp1568948pjr; Mon, 18 May 2020 16:38:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxhb30Xb/YlNBTedvCTuKL5wJIcYYTRMV4e+IrxYEl+hRKUID+43AhbollNMvxcKxfJVyqm X-Received: by 2002:a17:906:8695:: with SMTP id g21mr17577452ejx.192.1589845134333; Mon, 18 May 2020 16:38:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589845134; cv=none; d=google.com; s=arc-20160816; b=pg2Jya0hcZEzGmeey5gsPR3j8KOJvXxmgcsG2F92+1CNpzUpqyHW1tXPs1iTTfdDY2 786jc9CIT8s7Zzr3VFH5Sha52ZXlFJisQABaxB6JYaDqBL2FSfTxuFkH4ow4UtN00ZEZ NnAk5iRQdQTDgqgUdG3ywuHqmNdtTKHK5cjK6vWLvIACKWe/INFl6hYuCNBI/bGUabUu sVXs/Y9nS+xqb9QSWtFBI3wuOEZpAEAuPBVrRol/4hCa3rTNKRaTURs8gkgvRLCILe4U WD5FBZopnGCVXgQ4C0J0oc4Lrqr1Pn5ng6JoZXH8jRWvMEHl7+zU4tZf7ad3Uc+BNyce j/DQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=PcWU8cWCC9GJOCzukl0yQUr9fb1Ocmvxv2YoWxg5+u8=; b=IfzI7/ojQAT9TkBGw6Q66k3yUEcN8QioOwPqX53kXXaEs9zLVS3pcRtDk2O+JFiXcJ lJLhHkrkbMU5Or2ZNJBeXuJUtyhsvBb4yI+MT5Fan+4wp1fNsMwIbpTt/wyGJhWFYss3 YkQipRLY5I9CcTpDSiZ0s4nYwGg/RXqyBFXcqYat4mDZn8K1nVaIH59cXJ6wxNXCnexl PR4HprgH7E71dvo55+HxfFWVV6xiQWpSzpL1iKb1fgyxIZBmLD7fmnggMaArR8aoW74h 21WkD5xTYlJRkN6kBsLihxF1hBQ9+4LYpSkBUX1Uc4QwlcJLQGwuMys2dFnRKLWzSZCD dU0A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ipGjf7I9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t10si6851583edq.435.2020.05.18.16.38.31; Mon, 18 May 2020 16:38:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ipGjf7I9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729087AbgERRkc (ORCPT + 99 others); Mon, 18 May 2020 13:40:32 -0400 Received: from mail.kernel.org ([198.145.29.99]:35900 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729046AbgERRkX (ORCPT ); Mon, 18 May 2020 13:40:23 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id B94DF207FB; Mon, 18 May 2020 17:40:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1589823623; bh=MnXWXZU26+4+NeIY9AqrocqOaxDKw36ByaZ0bariZvM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ipGjf7I9W/5RqvfT6YJtTh0TVnXQCKWu/jF0CAeIrj+OZQ+gdOwyZdJG/+Mq4v6OX n8CSBglQ8d4FGdNs6K3tcjXspRN9tXYXDHSTA8sT/7sr0djpwCPxMrbysClADByD9C uVmMml4ZYkK0JEURuZcqgYYg6LEr0bEtl/Nk+Eo8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Alexandre Belloni , "David S. Miller" , Sasha Levin Subject: [PATCH 4.4 18/86] phy: micrel: Ensure interrupts are reenabled on resume Date: Mon, 18 May 2020 19:35:49 +0200 Message-Id: <20200518173454.160717267@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200518173450.254571947@linuxfoundation.org> References: <20200518173450.254571947@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Alexandre Belloni [ Upstream commit f5aba91d7f186cba84af966a741a0346de603cd4 ] At least on ksz8081, when getting back from power down, interrupts are disabled. ensure they are reenabled if they were previously enabled. This fixes resuming which is failing on the xplained boards from atmel since 321beec5047a (net: phy: Use interrupts when available in NOLINK state) Fixes: 321beec5047a (net: phy: Use interrupts when available in NOLINK state) Signed-off-by: Alexandre Belloni Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/phy/micrel.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index 98166e144f2dd..48788ef0ac639 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -603,6 +603,21 @@ ksz9021_wr_mmd_phyreg(struct phy_device *phydev, int ptrad, int devnum, { } +static int kszphy_resume(struct phy_device *phydev) +{ + int value; + + mutex_lock(&phydev->lock); + + value = phy_read(phydev, MII_BMCR); + phy_write(phydev, MII_BMCR, value & ~BMCR_PDOWN); + + kszphy_config_intr(phydev); + mutex_unlock(&phydev->lock); + + return 0; +} + static int kszphy_probe(struct phy_device *phydev) { const struct kszphy_type *type = phydev->drv->driver_data; @@ -794,7 +809,7 @@ static struct phy_driver ksphy_driver[] = { .ack_interrupt = kszphy_ack_interrupt, .config_intr = kszphy_config_intr, .suspend = genphy_suspend, - .resume = genphy_resume, + .resume = kszphy_resume, .driver = { .owner = THIS_MODULE,}, }, { .phy_id = PHY_ID_KSZ8061, -- 2.20.1