Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp3726908imm; Mon, 18 Jun 2018 03:04:04 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJJDRIpqO0Wd0vB9kOE/VUsa41vapbPq84V6BSduydOUrZ8HjX4KfzE5KziKAtf5cvVJH+1 X-Received: by 2002:a63:b307:: with SMTP id i7-v6mr10340846pgf.448.1529316244790; Mon, 18 Jun 2018 03:04:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529316244; cv=none; d=google.com; s=arc-20160816; b=raULhd78z/tlU9XfN0SJAqrL65RA82wCbnIEgakn0JEh1IoZWtBiarthbW0CEmXR53 6O5dGjTg1hBKpv7bsMGRMQJLlKtwX/egZkz0IBoT6g7mnt7o774JP1YFVs4ixHYlkniK rirrGaqBujkFoheCbSzPJPVPw+8z/yLExUrF87wl0l5wA7ySWNUEdpEtNLSLSqcqQzXc RdmZDofm91HHjxpVs2+N+YJE4+RFFHGwwezVEiAsssKv9iEMZsQgiMXK80F+SkAmMhoF NxJpzv+lIfY+yKtEEHWUISyeixrAVhkjZuviy+D63tgCM5WNF9rM/0nD4rf9aoQnOkri Rgng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=SQIAeIahJ3JuUrMTf40WknzvhNxqnGV9bi3Jvj3bYSs=; b=IQNM/jYc8SEsEmdQPD9vQqCZtvDbkAXyId2ye1PghHJyGOkLRg1DKlm5M8G0ttT961 uI9/DtP3Kx9RqTLP0AKnTK8ldrbP1aMoPAey1X4FYGBrx41UOyHIoON4CKQ8QAW7+oEw MjrA6rUZjsvpabz8RPG/FFFoBDKY7Z3SQ4Fn3V0o8roQ9yIpVKXUhl2wxBo2pBNyIxB5 tKHAHbYBI+L6/KSnXrqkS2POUbPup3Dzk8Yj+WS7wm+rWYfqjghKQXoazwSd4XtBEPBr wKJ3aGLU9b2u7lMFx72S4fI63t6E8w4jFTz+/YIa7Cew788wDIXOkGB824QK52+mW+XF g5Pg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u9-v6si14867511pls.462.2018.06.18.03.03.51; Mon, 18 Jun 2018 03:04:04 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935268AbeFRISn (ORCPT + 99 others); Mon, 18 Jun 2018 04:18:43 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:54688 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935241AbeFRISj (ORCPT ); Mon, 18 Jun 2018 04:18:39 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id D3345C75; Mon, 18 Jun 2018 08:18:38 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jingju Hou , Jisheng Zhang , "David S. Miller" , Sasha Levin Subject: [PATCH 4.16 081/279] net: phy: marvell: clear wol event before setting it Date: Mon, 18 Jun 2018 10:11:06 +0200 Message-Id: <20180618080612.159657869@linuxfoundation.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180618080608.851973560@linuxfoundation.org> References: <20180618080608.851973560@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.16-stable review patch. If anyone has any objections, please let me know. ------------------ From: Jingju Hou [ Upstream commit b6a930fa88083b41d26ddf1cab95cbd740936c22 ] If WOL event happened once, the LED[2] interrupt pin will not be cleared unless we read the CSISR register. If interrupts are in use, the normal interrupt handling will clear the WOL event. Let's clear the WOL event before enabling it if !phy_interrupt_is_valid(). Signed-off-by: Jingju Hou Signed-off-by: Jisheng Zhang Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/net/phy/marvell.c | 9 +++++++++ 1 file changed, 9 insertions(+) --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -1377,6 +1377,15 @@ static int m88e1318_set_wol(struct phy_d if (err < 0) goto error; + /* If WOL event happened once, the LED[2] interrupt pin + * will not be cleared unless we reading the interrupt status + * register. If interrupts are in use, the normal interrupt + * handling will clear the WOL event. Clear the WOL event + * before enabling it if !phy_interrupt_is_valid() + */ + if (!phy_interrupt_is_valid(phydev)) + phy_read(phydev, MII_M1011_IEVENT); + /* Enable the WOL interrupt */ err = __phy_modify(phydev, MII_88E1318S_PHY_CSIER, 0, MII_88E1318S_PHY_CSIER_WOL_EIE);