Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp2961162imm; Sun, 1 Jul 2018 09:12:36 -0700 (PDT) X-Google-Smtp-Source: AAOMgpf7M2MOZuV+ceUPcID2sDacxFZ20zoDGTQ75UPCGOP2H+lQzF4RstKUQYwKhYv51KQx/puC X-Received: by 2002:aa7:84cf:: with SMTP id x15-v6mr22028294pfn.220.1530461555959; Sun, 01 Jul 2018 09:12:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530461555; cv=none; d=google.com; s=arc-20160816; b=tp6NLFl5yjz1H02s4GR6YHdBU6xFE2d1mvMvVx7IdTZeDgl0NhT7jpsTDxZt3fEaQ3 +NmUwkMkzr5Cp2pj708j3uQ18Ljc5L2NsZNK+Qw0zl3HR+d6XUHoKzJc1GPwW1eE4wDh KROeXBDz//mzO5Z15H6VJJJhYaPtJa/lQy6J3khe3XwLmSVMIa3t1gH9uEDOVXpsYGAJ Jj9SshUfz7XJKl/8EnrZpwjzwNxyTQibwnMzfQp1yeqb9rEL0NWSBH74or+u0BY5J4zh BNdnfIt9ocSypn0rZZMc7/tF9+MBHbuP6Y8ayelp0P2tOOv/uUueF3GoYdZ+6BfYm6do TYnw== 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=FEHmCj7V25yMT2m3URoCnOuEvyYj7Jg449NQYmb+8Ms=; b=eKbcfwKqG251tEIyhAgaDXVf6MYwKVq64nvoWShx95y0+13GozwHLXW+HHde+z1svc ZVCTXfjP0eRmZattBdlyCMfho4Kvk7TCBbhBQT7R7sEmB1dzlU2N3P3Kj4wwYADuUmih EzGGuDm4TzOfNVJL9Tb07M7o2kINQ1gDZvqgdoL+bIcmsaF7iZL0lGgfl+k75Oablvm/ ZuujHI7AN5lHCmSE8/qKy3RJScJiFr0U+1yE1CuuzGWJKPPNU9ZFNwPAzPpFZ4PxD7KZ SClgccu3RRmoLtRl4clB0ns1ZCVQ/7lqw+VprjiwYNCu+Unr7INkR+6HjMT56vtVbL1w SzKA== 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 x22-v6si71162pll.24.2018.07.01.09.12.21; Sun, 01 Jul 2018 09:12:35 -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 S1752593AbeGAQLU (ORCPT + 99 others); Sun, 1 Jul 2018 12:11:20 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:59630 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752526AbeGAQLJ (ORCPT ); Sun, 1 Jul 2018 12:11:09 -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 4A3FCAEF; Sun, 1 Jul 2018 16:11:09 +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 3.18 12/85] net: phy: marvell: clear wol event before setting it Date: Sun, 1 Jul 2018 18:01:30 +0200 Message-Id: <20180701153122.845508836@linuxfoundation.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180701153122.365061142@linuxfoundation.org> References: <20180701153122.365061142@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 3.18-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 @@ -828,6 +828,15 @@ static int m88e1318_set_wol(struct phy_d if (err < 0) return err; + /* 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 */ temp = phy_read(phydev, MII_88E1318S_PHY_CSIER); temp |= MII_88E1318S_PHY_CSIER_WOL_EIE;