switchdev: change BUG_ON to WARN for attr set failure case
authorScott Feldman <sfeldma@gmail.com>
Thu, 11 Jun 2015 18:20:42 +0000 (11:20 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 23 Jun 2015 13:57:17 +0000 (06:57 -0700)
This particular BUG_ON condition was checking for attr set err in the
COMMIT phase, which isn't expected (it's a driver bug if PREPARE phase is
OK but COMMIT fails).  But BUG_ON() is too strong for this case, so change
to WARN().  BUG_ON() would be warranted if the system was corrupted beyond
repair, but this is not the case here.

Signed-off-by: Scott Feldman <sfeldma@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/switchdev/switchdev.c

index 3e4b35a0c8cbc7ea1eddc0128729b8cb54b8bf81..f01d34075749eb5e8faf96646e40135615942409 100644 (file)
@@ -184,7 +184,8 @@ int switchdev_port_attr_set(struct net_device *dev, struct switchdev_attr *attr)
 
        attr->trans = SWITCHDEV_TRANS_COMMIT;
        err = __switchdev_port_attr_set(dev, attr);
-       BUG_ON(err);
+       WARN(err, "%s: Commit of attribute (id=%d) failed.\n",
+            dev->name, attr->id);
 
        return err;
 }