From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.9 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1AB6BC43219 for ; Sun, 28 Apr 2019 18:48:08 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DEF7120652 for ; Sun, 28 Apr 2019 18:48:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="q99M0/SZ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727225AbfD1SsH (ORCPT ); Sun, 28 Apr 2019 14:48:07 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:38006 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727212AbfD1SsG (ORCPT ); Sun, 28 Apr 2019 14:48:06 -0400 Received: by mail-wr1-f66.google.com with SMTP id k16so12489372wrn.5 for ; Sun, 28 Apr 2019 11:48:06 -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:in-reply-to:references; bh=KwW+r/tq7p9MHFte19K1tg+8QW4LOWXo006BU3J1+oI=; b=q99M0/SZ1lC/JjLlITt6ZxVYGqLAvKffu1nJhnRUhlOI8AGkdQA1bif76bdvhTs82f Ir02eDAGQxpk5TLTK2PW4dWh2Zjrtn2YZMRSMiZozWVPhXVW7fsd0CmT77nDdBSAHz6+ udIkMCfbUtcZ15kkPO/z0TI+eLgkNg1YnxxtnRAO2w/Lm4x7QHKSPqABJ4vimqDhJiHD 4kG8CjA692CsbAimgz1nEwtKrKJO9sIg2QAF7ezz6Ie7+XAsmEFA7SocNG97F4IpZ7CC jzV+8LpiI5tEQfmzkCTCOJVvQjfiHcPhhfj3iQzBe/34y0uQcUzc3GCqnu+X0ouI63Sp 987Q== 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:in-reply-to :references; bh=KwW+r/tq7p9MHFte19K1tg+8QW4LOWXo006BU3J1+oI=; b=kJcZlRhxC+m02v3AvGSMQ9ZpsIK6H/DhB/c+GHHUMGeQtxDZJFtzs1gd85LOQiMhem GGc4Gu7pIOc0VLqXksFJcVEs2JbesqBw+sxGvl7uRqLXTyx6ZNAJ5btBL2pM9fKq9reD euo+Kq/YIkL5nCB0LAXGTUEGuvLY/Dzt7q4HWe+lwZXtYkjbPbWrZv4PRB71M5LjF016 lqE/Md2F7xIIvXrr16E9w786qGxQ9BjposCYgLRr9KEVfANtO5tijiBUPhsEOiz7K9fi +hSeuCi14a11v4vwSiYG5UBIzTA0be+RHbOYzTkBcZ9EVKUAbAANGKnI2nvxpPk4hZl6 Y4kA== X-Gm-Message-State: APjAAAVhmSW/wwUOY46FPCEAgktkppDbqQ4lU3j49ZbPLYCDlRJb4zGR MW8EV3G7LMh+zerIMEBmYg4= X-Google-Smtp-Source: APXvYqz7DfAc1HLZ63FUB4g/46JkssAgzCFTyJ8DBms/KB3groza9nY4Gckg9ftXyMe6wyxlXPaA2w== X-Received: by 2002:a5d:6987:: with SMTP id g7mr36376647wru.299.1556477285448; Sun, 28 Apr 2019 11:48:05 -0700 (PDT) Received: from localhost.localdomain (5-12-225-227.residential.rdsnet.ro. [5.12.225.227]) by smtp.gmail.com with ESMTPSA id h5sm12254910wmf.38.2019.04.28.11.48.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2019 11:48:05 -0700 (PDT) From: Vladimir Oltean To: f.fainelli@gmail.com, vivien.didelot@gmail.com, andrew@lunn.ch, davem@davemloft.net Cc: netdev@vger.kernel.org, Vladimir Oltean Subject: [PATCH net-next 10/13] net: dsa: Skip calling .port_vlan_filtering on no change Date: Sun, 28 Apr 2019 21:45:51 +0300 Message-Id: <20190428184554.9968-11-olteanv@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190428184554.9968-1-olteanv@gmail.com> References: <20190428184554.9968-1-olteanv@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Even if VLAN filtering is global, DSA will call this callback once per each port. Drivers should not have to compare the global state with the requested change. So let DSA do it. Signed-off-by: Vladimir Oltean --- net/dsa/port.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/dsa/port.c b/net/dsa/port.c index 555fdbf0a3f4..da5922ba7d33 100644 --- a/net/dsa/port.c +++ b/net/dsa/port.c @@ -203,6 +203,9 @@ int dsa_port_vlan_filtering(struct dsa_port *dp, bool vlan_filtering, if (!dsa_port_can_apply_vlan_filtering(dp, vlan_filtering)) return -EINVAL; + if (dsa_port_is_vlan_filtering(dp) == vlan_filtering) + return 0; + err = ds->ops->port_vlan_filtering(ds, dp->index, vlan_filtering); if (err) -- 2.17.1