[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMUH3-WfUghz=yGcRBemz=we23w=cBK8R=7S=d9Xy6mjELKrAg@mail.gmail.com>
Date: Thu, 11 Jun 2015 10:15:16 -0700
From: Brenden Blanco <bblanco@...mgrid.com>
To: Scott Feldman <sfeldma@...il.com>
Cc: netdev@...r.kernel.org, jiri@...nulli.us
Subject: Re: [PATCH net-next v2] switchdev: fix BUG when port driver doesn't
support set attr op
On Thu, Jun 11, 2015 at 8:19 AM, <sfeldma@...il.com> wrote:
> From: Scott Feldman <sfeldma@...il.com>
>
> 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 <sfeldma@...il.com>
> Reported-by: Brenden Blanco <bblanco@...mgrid.com>
> ---
> 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);
> --
> 1.7.10.4
>
I just tried this patch against the original test case, and this one
works well for me. Thanks!
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists