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=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 8ECE7C17441 for ; Mon, 11 Nov 2019 18:47:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6675221783 for ; Mon, 11 Nov 2019 18:47:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1573498070; bh=Jqt1Gi9SzAMnpm04RMBrV0CAWrrPaBXApozrHbehwBI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=toOudlZckXJI9JJpHgVRJ8h0zqhPtZFLsQ9fvmhwPpOsFUMSCs6G7yOMF/4ua78IF Z6Xe4fimxVjqjk179Cgv2g1LyyM0rRR+EBwrMwmzYh/8VRkTun8eeSmbKbCVZugPTm sHqgWevtAx1whFiRYyf+hxw2gN6ytvyQuO2vFLnw= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730151AbfKKSrt (ORCPT ); Mon, 11 Nov 2019 13:47:49 -0500 Received: from mail.kernel.org ([198.145.29.99]:40674 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730165AbfKKSrq (ORCPT ); Mon, 11 Nov 2019 13:47:46 -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 E38AD20674; Mon, 11 Nov 2019 18:47:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1573498065; bh=Jqt1Gi9SzAMnpm04RMBrV0CAWrrPaBXApozrHbehwBI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Ij7hOsLMltP5FR2/0W/GQSzxgtx8Zjypx1BYvd8bSsx5sbDV+qLhQZm4vSdwZFeCZ 9IP9b2zRNRvOMUuIiJ///YE2SkgXzhZ4czpSLwlpAK+dtF/S5AvNM3GqX9bAK1J67R lIIf2VSCv8dFaCa8wQOSEvV1BXJ1VYpBY4pQb+fU= 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 5.3 013/193] net: mscc: ocelot: dont handle netdev events for other netdevs Date: Mon, 11 Nov 2019 19:26:35 +0100 Message-Id: <20191111181500.925510047@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191111181459.850623879@linuxfoundation.org> References: <20191111181459.850623879@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 @@ -1499,9 +1499,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)) { @@ -1538,6 +1535,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;