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=-6.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable 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 3F238C43331 for ; Mon, 11 Nov 2019 19:05:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0683921872 for ; Mon, 11 Nov 2019 19:05:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1573499115; bh=bR5o7skpK6KDCD0QAk0Qsb4kd3q/ojkGwfvWrbP2So0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=VNWUvYyrM/o1pUX7qofIs4O0J/7W9uOm87g+r1XgZpp62CCH8ERuh1qSB7qom9R+n kYDFei+4sG32ToGinZhEe4A8eSFQwYjk/1E9TwOgv/1S2ro1JQsS577D7mM/cYrVWW h5Rw5xWgWu3EVvw9WsazOFOSB7D7CBGhtAdiqw8U= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729270AbfKKSkg (ORCPT ); Mon, 11 Nov 2019 13:40:36 -0500 Received: from mail.kernel.org ([198.145.29.99]:59714 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729263AbfKKSkb (ORCPT ); Mon, 11 Nov 2019 13:40:31 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 9EDE120659; Mon, 11 Nov 2019 18:40:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1573497631; bh=bR5o7skpK6KDCD0QAk0Qsb4kd3q/ojkGwfvWrbP2So0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iVZYna1f1kK77ODepxGY00wrRtrOMUVv8vK21+EthVgfJR+P75jLPHZ/v2DESmG4M PEWi9w3jqX/JL8pdKa6XgIWMzUmGXkF5e+p807H4VksMLDmiZUmtmIcNjNoEyumSVg Xsjtp1YWjRvBFusnBU6yjidcJ9V/t3Sgg4lOQJsk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Claudiu Manoil , Vladimir Oltean , "David S. Miller" Subject: [PATCH 4.19 012/125] net: mscc: ocelot: dont handle netdev events for other netdevs Date: Mon, 11 Nov 2019 19:27:31 +0100 Message-Id: <20191111181441.257500678@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191111181438.945353076@linuxfoundation.org> References: <20191111181438.945353076@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Claudiu Manoil [ Upstream commit 7afb3e575e5aa9f5a200a3eb3f45d8130f6d6601 ] The check that the event is actually for this device should be moved from the "port" handler to the net device handler. Otherwise the port handler will deny bonding configuration for other net devices in the same system (like enetc in the LS1028A) that don't have the lag_upper_info->tx_type restriction that ocelot has. Fixes: dc96ee3730fc ("net: mscc: ocelot: add bonding support") Signed-off-by: Claudiu Manoil Signed-off-by: Vladimir Oltean Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/mscc/ocelot.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) --- a/drivers/net/ethernet/mscc/ocelot.c +++ b/drivers/net/ethernet/mscc/ocelot.c @@ -1506,9 +1506,6 @@ static int ocelot_netdevice_port_event(s struct ocelot_port *ocelot_port = netdev_priv(dev); int err = 0; - if (!ocelot_netdevice_dev_check(dev)) - return 0; - switch (event) { case NETDEV_CHANGEUPPER: if (netif_is_bridge_master(info->upper_dev)) { @@ -1545,6 +1542,9 @@ static int ocelot_netdevice_event(struct struct net_device *dev = netdev_notifier_info_to_dev(ptr); int ret = 0; + if (!ocelot_netdevice_dev_check(dev)) + return 0; + if (event == NETDEV_PRECHANGEUPPER && netif_is_lag_master(info->upper_dev)) { struct netdev_lag_upper_info *lag_upper_info = info->upper_info;