From patchwork Thu Mar 15 16:54:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthias Brugger X-Patchwork-Id: 886358 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; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="IOBqbdYX"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 402F7T2019z9sVJ for ; Fri, 16 Mar 2018 03:54:45 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751618AbeCOQyd (ORCPT ); Thu, 15 Mar 2018 12:54:33 -0400 Received: from mail-wr0-f196.google.com ([209.85.128.196]:42357 "EHLO mail-wr0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750987AbeCOQyb (ORCPT ); Thu, 15 Mar 2018 12:54:31 -0400 Received: by mail-wr0-f196.google.com with SMTP id s18so8968897wrg.9; Thu, 15 Mar 2018 09:54:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=DQcv+AaMlB/aZcqossXGunFnMOKg06olwcLmGw/X/II=; b=IOBqbdYXx84I0/sbabLJX/oqSQq89GvgSsIcn8jZ8Z+UZuaxpl2hzmPZba6oQk5V+t z/LacAE7sdGBdQqppSN2kuNjJ36C5VUNOcQe+va0oMyEgDTBFuXCLy6C/+ItbUn2wX9K G7734U4idjmi9CR5aECC5Y+TqScNGev2CoOmsHOmvOOyiojmFmebxfr2WsMS6j74QgEX hZVeHlUN2jlRmtJa87o3p3Va3+YpR7Ijysb46OBBt/yeih/FWQZB8klGpw8U2wBFf0Lv a64ho8jb2UxTj5TPtRu0HoZUcDNUCyeuOB0x+O+VhxcTeCP11gLv7oOw5U4ylBA2yMa+ MMRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=DQcv+AaMlB/aZcqossXGunFnMOKg06olwcLmGw/X/II=; b=eQEMhoY8UR4qdawwK4Rih4aFTxhsrFk/VsBcSXVvTf7J5ItstzP7gaZl4Wvtx6s2EP bbCS1HVSymfK08ARsTTBk0B2SJJX5X3nhRp5lZs8SS74BGccd828uqKGyvGOR2/FBYmO vEcCuA7hU0iEzy576H8sMHJg6JbEZad+uX6qHBIsMgsSk/syZDnz+ckNaBT3CsWJdfwX hQFsqfB/VBIA9/64s/Jqs16z3VHMPLWZ+wrkv0sA22GkIabpdZ7GIqwfAWo7zBTZINck CnzDF7VY4pCmcOKQp3yhICmyp27WpN5A5j0h3OgXYnqVbviXKaReAOB3yfPc4u3KQd5f S09w== X-Gm-Message-State: AElRT7F08ka1ucBrEj3UxYGTZjbaICkcCaypgnBob/3cPW9IRP4WI51s SkW4jb+u5NMlPtR96UecwF0= X-Google-Smtp-Source: AG47ELv/goOOCpVIAfnw962sULZ9iZm3ZNeIdvwuPQTyuK0nIjLndjI63kaBCZkzG2TMJu7Y3Et86w== X-Received: by 10.223.208.132 with SMTP id y4mr7376148wrh.185.1521132870490; Thu, 15 Mar 2018 09:54:30 -0700 (PDT) Received: from ziggy.de ([47.61.192.62]) by smtp.gmail.com with ESMTPSA id y42sm1652475wry.97.2018.03.15.09.54.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Mar 2018 09:54:29 -0700 (PDT) From: Matthias Brugger X-Google-Original-From: Matthias Brugger To: yisen.zhuang@huawei.com, salil.mehta@huawei.com, davem@davemloft.net Cc: tianjinchuan1@huawei.com, lipeng321@huawei.com, lixiaoping3@huawei.com, mbrugger@suse.com, yankejian@huawei.com, linyunsheng@huawei.com, huangdaode@hisilicon.com, stephen@networkplumber.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, matthias.bgg@gmail.com Subject: [PATCH] net: hns: Fix ethtool private flags Date: Thu, 15 Mar 2018 17:54:20 +0100 Message-Id: <20180315165420.16086-1-mbrugger@suse.com> X-Mailer: git-send-email 2.16.2 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The driver implementation returns support for private flags, while no private flags are present. When asked for the number of private flags it returns the number of statistic flag names. Fix this by returning EOPNOTSUPP for not implemented ethtool flags. Signed-off-by: Matthias Brugger --- drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c | 2 +- drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c | 2 +- drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c | 2 +- drivers/net/ethernet/hisilicon/hns/hns_ethtool.c | 4 +++- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c index 86944bc3b273..74bd260ca02a 100644 --- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c +++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c @@ -666,7 +666,7 @@ static void hns_gmac_get_strings(u32 stringset, u8 *data) static int hns_gmac_get_sset_count(int stringset) { - if (stringset == ETH_SS_STATS || stringset == ETH_SS_PRIV_FLAGS) + if (stringset == ETH_SS_STATS) return ARRAY_SIZE(g_gmac_stats_string); return 0; diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c index b62816c1574e..93e71e27401b 100644 --- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c +++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c @@ -422,7 +422,7 @@ void hns_ppe_update_stats(struct hns_ppe_cb *ppe_cb) int hns_ppe_get_sset_count(int stringset) { - if (stringset == ETH_SS_STATS || stringset == ETH_SS_PRIV_FLAGS) + if (stringset == ETH_SS_STATS) return ETH_PPE_STATIC_NUM; return 0; } diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c index 6f3570cfb501..e2e28532e4dc 100644 --- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c +++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c @@ -876,7 +876,7 @@ void hns_rcb_get_stats(struct hnae_queue *queue, u64 *data) */ int hns_rcb_get_ring_sset_count(int stringset) { - if (stringset == ETH_SS_STATS || stringset == ETH_SS_PRIV_FLAGS) + if (stringset == ETH_SS_STATS) return HNS_RING_STATIC_REG_NUM; return 0; diff --git a/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c b/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c index 7ea7f8a4aa2a..2e14a3ae1d8b 100644 --- a/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c +++ b/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c @@ -993,8 +993,10 @@ int hns_get_sset_count(struct net_device *netdev, int stringset) cnt--; return cnt; - } else { + } else if (stringset == ETH_SS_STATS) { return (HNS_NET_STATS_CNT + ops->get_sset_count(h, stringset)); + } else { + return -EOPNOTSUPP; } }