From patchwork Mon Mar 10 01:01:10 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Hesselbarth X-Patchwork-Id: 328444 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 756ED2C00B9 for ; Mon, 10 Mar 2014 12:01:38 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752849AbaCJBBV (ORCPT ); Sun, 9 Mar 2014 21:01:21 -0400 Received: from mail-ee0-f41.google.com ([74.125.83.41]:37619 "EHLO mail-ee0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752107AbaCJBBU (ORCPT ); Sun, 9 Mar 2014 21:01:20 -0400 Received: by mail-ee0-f41.google.com with SMTP id t10so2830459eei.14 for ; Sun, 09 Mar 2014 18:01:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=ddB4jvTg5biEdmhhLrAOCMslHUSyal7io+N6TXoN5wc=; b=W8Az25V54IPJLMyWi/WnfE47hJu43IfP4v+mL85LQqjS+qOYRcsr2E5QxOOCOmzHR3 vvnxG9TrmCqyJkA4u44/cKHx2OB+Lh6fB0pm6vle0jf7Mo2hARm2GcypQQ7EJUZT7u7P N+QFrOjpkRgdpSuvbU7XtHtCiz0M9fNzqQ7AgSuKxyULNMQ/JKyewOOTZx3PFpIdxdzC RBdNuV84JsUr1cwQdU65QqScgaqIrBa9u8oBnI7q3WwmAe2lv8QyBq1EfL4+14pEjIYl hR5oS/BfaBpJYeTNkoDN23OM3CsG9XZ9uV6pDG/Nu34Axjc/eaQPNuTBY9+Tn/n1dgL7 i7sA== X-Received: by 10.15.22.65 with SMTP id e41mr31863186eeu.5.1394413279498; Sun, 09 Mar 2014 18:01:19 -0700 (PDT) Received: from topkick.lan (dslc-082-083-251-183.pools.arcor-ip.net. [82.83.251.183]) by mx.google.com with ESMTPSA id m42sm38655416eex.21.2014.03.09.18.01.18 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 09 Mar 2014 18:01:18 -0700 (PDT) From: Sebastian Hesselbarth To: Sebastian Hesselbarth Cc: David Miller , Florian Fainelli , netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] net: phy: fix uninitalized WOL parameters in phy_ethtool_get_wol Date: Mon, 10 Mar 2014 02:01:10 +0100 Message-Id: <1394413270-7169-1-git-send-email-sebastian.hesselbarth@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org phy_ethtool_get_wol is a helper to get current WOL settings from a phy device. When using this helper on a PHY without .get_wol callback, struct ethtool_wolinfo is never set-up correctly and may contain misleading information about WOL status. To fix this, always zero relevant fields of struct ethtool_wolinfo regardless of .get_wol callback availability. Signed-off-by: Sebastian Hesselbarth Reviewed-by: Florian Fainelli --- Cc: David Miller Cc: Florian Fainelli Cc: netdev@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org --- drivers/net/phy/phy.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index 19c9eca0ef26..62a7cd401e1c 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -1092,6 +1092,7 @@ EXPORT_SYMBOL(phy_ethtool_set_wol); void phy_ethtool_get_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol) { + wol->supported = wol->wolopts = 0; if (phydev->drv->get_wol) phydev->drv->get_wol(phydev, wol); }