From patchwork Thu Feb 8 20:01:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heiner Kallweit X-Patchwork-Id: 871114 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ulqAIE3b"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zcpxj6tvDz9s72 for ; Fri, 9 Feb 2018 07:02:01 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752184AbeBHUB6 (ORCPT ); Thu, 8 Feb 2018 15:01:58 -0500 Received: from mail-wr0-f196.google.com ([209.85.128.196]:39614 "EHLO mail-wr0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751786AbeBHUBz (ORCPT ); Thu, 8 Feb 2018 15:01:55 -0500 Received: by mail-wr0-f196.google.com with SMTP id f6so6002061wra.6 for ; Thu, 08 Feb 2018 12:01:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:subject:to:cc:message-id:date:user-agent:mime-version :content-transfer-encoding; bh=E3msJ1/5CCBhj5mWSyzcyc0PJ/BgOCariroSyc1ltEo=; b=ulqAIE3bbK1CM9XhZIuhnSaEM77fH4rFO7QmuJW0zOJLSTnrD9cFYwZNznukoXbi8s U5Bho0x9m8+bhWnlLzzUUI5Xk/jOE7/lk2PDdNQkEbTMvuZIWrdoq8vqHF5MvFl3U8ff AQEnAT28DpRHDc0l+PDs/yHE0C5dOZob8XO8sF7NvjxiY3ea8kDnvUb3CksSisW7t29n Q7soVzu2RfVR1zGKUDbEWiqrsyhUJ4x1dt1T2wPz8NAyD0NfQqbP0vo9x6DqQWzOr9pL V/Kxp8Nb4S6BaLy9U37+WZKBwZHwFBeV0KWDeuleXdW0yIYzCCmAm9aEOP5YAdlfpq2N 8F3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:cc:message-id:date:user-agent :mime-version:content-transfer-encoding; bh=E3msJ1/5CCBhj5mWSyzcyc0PJ/BgOCariroSyc1ltEo=; b=RUmuunkNaWyeAN0jL7kEA9jq1T+fuFTLnNFX+IozakpZfUDApkzTY1Ee/zCwORS0Ms 2EuE9zRqVa4O5s0qDixWGPJnqs5kVf9RzKm5jUF4trfhBZV8EDSuIP1yC21AupkdDQeG zNMGqWQ28QhEU2s/Z6/Vd0dJPJwTcNE1iJiKObOBE+GGcJSsR7VPxk40CIFVsT4SUuaq xe2EtseTJnM5X8vMwBLq53OJS4XjlNAeWxcwByOkgugwusDN/PWmmXiVwm7EE5ws1r60 GoKl7ATs/B0iSAraG3pMtX9lYG0OpWMom6w/ELsB7l7MjpYwzgZdwQbcJLiQP0sD3twF w3LA== X-Gm-Message-State: APf1xPAB6EM+WsoAKaCVCXSnJAMwOVFEXqXk9KvWbRVMNcAQWUXWsqDv PIEfsG11aMqQXbaePuzny5pmeQ== X-Google-Smtp-Source: AH8x225WTLiQluwjVTIxuDzvK87mhBy6YxrEoIxiWbObcMdW4KgUyk2kOhkskhrOEGB4CKYDqfc9vA== X-Received: by 10.223.169.100 with SMTP id u91mr322864wrc.258.1518120114075; Thu, 08 Feb 2018 12:01:54 -0800 (PST) Received: from ?IPv6:2003:ea:8bcd:3800:521:8b0d:ee74:1789? (p200300EA8BCD380005218B0DEE741789.dip0.t-ipconnect.de. [2003:ea:8bcd:3800:521:8b0d:ee74:1789]) by smtp.googlemail.com with ESMTPSA id b65sm955685wrd.26.2018.02.08.12.01.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 08 Feb 2018 12:01:53 -0800 (PST) From: Heiner Kallweit Subject: [PATCH net v3] net: phy: fix phy_start to consider PHY_IGNORE_INTERRUPT To: Andrew Lunn , Florian Fainelli , David Miller Cc: "netdev@vger.kernel.org" Message-ID: <9a965e5e-50a4-ed2e-51ce-eb30c11c3cdf@gmail.com> Date: Thu, 8 Feb 2018 21:01:48 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This condition wasn't adjusted when PHY_IGNORE_INTERRUPT (-2) was added long ago. In case of PHY_IGNORE_INTERRUPT the MAC interrupt indicates also PHY state changes and we should do what the symbol says. Fixes: 84a527a41f38 ("net: phylib: fix interrupts re-enablement in phy_start") Signed-off-by: Heiner Kallweit Reviewed-by: Florian Fainelli --- v2: - use phy_interrupt_is_valid() instead of checking for irq > 0 v3: - added "Fixes" tag - fix is a candidate for stable, v4.9+ --- drivers/net/phy/phy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index f3313a129..50ed35a45 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -822,7 +822,7 @@ void phy_start(struct phy_device *phydev) phy_resume(phydev); /* make sure interrupts are re-enabled for the PHY */ - if (phydev->irq != PHY_POLL) { + if (phy_interrupt_is_valid(phydev)) { err = phy_enable_interrupts(phydev); if (err < 0) break;