* [PATCH net-next v2] switchdev: fix BUG when port driver doesn't support set attr op
@ 2015-06-11 15:19 sfeldma
2015-06-11 17:15 ` Brenden Blanco
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: sfeldma @ 2015-06-11 15:19 UTC (permalink / raw)
To: netdev; +Cc: jiri, bblanco
From: Scott Feldman <sfeldma@gmail.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@gmail.com>
Reported-by: Brenden Blanco <bblanco@plumgrid.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
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH net-next v2] switchdev: fix BUG when port driver doesn't support set attr op
2015-06-11 15:19 [PATCH net-next v2] switchdev: fix BUG when port driver doesn't support set attr op sfeldma
@ 2015-06-11 17:15 ` Brenden Blanco
2015-06-12 5:54 ` Jiri Pirko
2015-06-12 17:17 ` Andy Gospodarek
2 siblings, 0 replies; 4+ messages in thread
From: Brenden Blanco @ 2015-06-11 17:15 UTC (permalink / raw)
To: Scott Feldman; +Cc: netdev, jiri
On Thu, Jun 11, 2015 at 8:19 AM, <sfeldma@gmail.com> wrote:
> From: Scott Feldman <sfeldma@gmail.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@gmail.com>
> Reported-by: Brenden Blanco <bblanco@plumgrid.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!
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH net-next v2] switchdev: fix BUG when port driver doesn't support set attr op
2015-06-11 15:19 [PATCH net-next v2] switchdev: fix BUG when port driver doesn't support set attr op sfeldma
2015-06-11 17:15 ` Brenden Blanco
@ 2015-06-12 5:54 ` Jiri Pirko
2015-06-12 17:17 ` Andy Gospodarek
2 siblings, 0 replies; 4+ messages in thread
From: Jiri Pirko @ 2015-06-12 5:54 UTC (permalink / raw)
To: sfeldma; +Cc: netdev, bblanco
Thu, Jun 11, 2015 at 05:19:01PM CEST, sfeldma@gmail.com wrote:
>From: Scott Feldman <sfeldma@gmail.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@gmail.com>
>Reported-by: Brenden Blanco <bblanco@plumgrid.com>
Acked-by: Jiri Pirko <jiri@resnulli.us>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH net-next v2] switchdev: fix BUG when port driver doesn't support set attr op
2015-06-11 15:19 [PATCH net-next v2] switchdev: fix BUG when port driver doesn't support set attr op sfeldma
2015-06-11 17:15 ` Brenden Blanco
2015-06-12 5:54 ` Jiri Pirko
@ 2015-06-12 17:17 ` Andy Gospodarek
2 siblings, 0 replies; 4+ messages in thread
From: Andy Gospodarek @ 2015-06-12 17:17 UTC (permalink / raw)
To: sfeldma; +Cc: netdev, jiri, bblanco
On Thu, Jun 11, 2015 at 08:19:01AM -0700, sfeldma@gmail.com wrote:
> From: Scott Feldman <sfeldma@gmail.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@gmail.com>
> Reported-by: Brenden Blanco <bblanco@plumgrid.com>
This is less aggressive -- good call.
Acked-by: Andy Gospodarek <gospo@cumulusnetworks.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-06-12 17:17 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-11 15:19 [PATCH net-next v2] switchdev: fix BUG when port driver doesn't support set attr op sfeldma
2015-06-11 17:15 ` Brenden Blanco
2015-06-12 5:54 ` Jiri Pirko
2015-06-12 17:17 ` Andy Gospodarek
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.