From patchwork Thu Jun 11 15:19:01 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Scott Feldman X-Patchwork-Id: 483187 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 2758114028F for ; Fri, 12 Jun 2015 01:17:10 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=KHtaBP1K; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752391AbbFKPRF (ORCPT ); Thu, 11 Jun 2015 11:17:05 -0400 Received: from mail-pd0-f175.google.com ([209.85.192.175]:36118 "EHLO mail-pd0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752019AbbFKPRD (ORCPT ); Thu, 11 Jun 2015 11:17:03 -0400 Received: by pdjm12 with SMTP id m12so5928431pdj.3 for ; Thu, 11 Jun 2015 08:17:02 -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=tP8t4EYjstofgVhg1p6qENpUsK67TLXyjpmOZizWjtI=; b=KHtaBP1KzFWHvZY5MfR2Jsx0eP0yQJjdiXgfF67DGqgAQeo6cR2hnC48Tsy2VyKaB8 39+a/l09RcbLJcTb8f0Au4MZl5C9vjOUmVgU4JKzTr4mm+Ffn9JsztuOE0t1Mnp0wcOk FGadE0Go8apcOnr8oJXA/5tVZmAIZ3vs74IjBw9erhSVgUPeGdtXXpshfDaZujNz4vCt FgcTBsxYn5+25dbiQZPTs6jYbfLGg47y1rXP3c0WknOPyi752Wpmmb6ajTjfhifwtrdH tPXgVbNN1Ioh/zEcBAylNnzERMtTnVKnm3XuwlhwarkSq5pmIHQ/CU1Bv1aBFElhpwpB SRUQ== X-Received: by 10.69.25.41 with SMTP id in9mr15505335pbd.80.1434035822582; Thu, 11 Jun 2015 08:17:02 -0700 (PDT) Received: from rocker1.rocker.net ([199.58.98.143]) by mx.google.com with ESMTPSA id pu1sm1069322pdb.33.2015.06.11.08.17.01 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jun 2015 08:17:01 -0700 (PDT) From: sfeldma@gmail.com To: netdev@vger.kernel.org Cc: jiri@resnulli.us, bblanco@plumgrid.com Subject: [PATCH net-next v2] switchdev: fix BUG when port driver doesn't support set attr op Date: Thu, 11 Jun 2015 08:19:01 -0700 Message-Id: <1434035941-13665-1-git-send-email-sfeldma@gmail.com> X-Mailer: git-send-email 1.7.10.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Scott Feldman Fix a BUG_ON() where CONFIG_NET_SWITCHDEV is set but the driver for a bridged port does not support switchdev_port_attr_set op. Don't BUG_ON() if -EOPNOTSUPP is returned. Also change BUG_ON() to netdev_err since this is a normal error path and does not warrant the use of BUG_ON(), which is reserved for unrecoverable errs. Signed-off-by: Scott Feldman Reported-by: Brenden Blanco Acked-by: Jiri Pirko Acked-by: Andy Gospodarek --- net/switchdev/switchdev.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net/switchdev/switchdev.c b/net/switchdev/switchdev.c index e008057..ecd1b3f 100644 --- a/net/switchdev/switchdev.c +++ b/net/switchdev/switchdev.c @@ -103,7 +103,9 @@ static void switchdev_port_attr_set_work(struct work_struct *work) rtnl_lock(); err = switchdev_port_attr_set(asw->dev, &asw->attr); - BUG_ON(err); + if (err && err != -EOPNOTSUPP) + netdev_err(asw->dev, "failed (err=%d) to set attribute (id=%d)\n", + err, asw->attr.id); rtnl_unlock(); dev_put(asw->dev);