Re: [PATCH net] net: bridge: check __vlan_vid_del for error

2015-09-08 Thread David Miller
From: Vivien Didelot 
Date: Sat,  5 Sep 2015 21:27:57 -0400

> Since __vlan_del can return an error code, change its inner function
> __vlan_vid_del to return an eventual error from switchdev_port_obj_del.
> 
> Signed-off-by: Vivien Didelot 

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH net] net: bridge: check __vlan_vid_del for error

2015-09-08 Thread David Miller
From: Vivien Didelot 
Date: Sat,  5 Sep 2015 21:27:57 -0400

> Since __vlan_del can return an error code, change its inner function
> __vlan_vid_del to return an eventual error from switchdev_port_obj_del.
> 
> Signed-off-by: Vivien Didelot 

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH net] net: bridge: check __vlan_vid_del for error

2015-09-06 Thread Jiri Pirko
Sun, Sep 06, 2015 at 03:27:57AM CEST, vivien.dide...@savoirfairelinux.com wrote:
>Since __vlan_del can return an error code, change its inner function
>__vlan_vid_del to return an eventual error from switchdev_port_obj_del.
>
>Signed-off-by: Vivien Didelot 

Acked-by: Jiri Pirko 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH net] net: bridge: check __vlan_vid_del for error

2015-09-06 Thread Jiri Pirko
Sun, Sep 06, 2015 at 03:27:57AM CEST, vivien.dide...@savoirfairelinux.com wrote:
>Since __vlan_del can return an error code, change its inner function
>__vlan_vid_del to return an eventual error from switchdev_port_obj_del.
>
>Signed-off-by: Vivien Didelot 

Acked-by: Jiri Pirko 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH net] net: bridge: check __vlan_vid_del for error

2015-09-05 Thread Vivien Didelot
Since __vlan_del can return an error code, change its inner function
__vlan_vid_del to return an eventual error from switchdev_port_obj_del.

Signed-off-by: Vivien Didelot 
---
 net/bridge/br_vlan.c | 17 +
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/net/bridge/br_vlan.c b/net/bridge/br_vlan.c
index 3cd8cc9..5f5a02b 100644
--- a/net/bridge/br_vlan.c
+++ b/net/bridge/br_vlan.c
@@ -117,10 +117,11 @@ out_filt:
return err;
 }
 
-static void __vlan_vid_del(struct net_device *dev, struct net_bridge *br,
-  u16 vid)
+static int __vlan_vid_del(struct net_device *dev, struct net_bridge *br,
+ u16 vid)
 {
const struct net_device_ops *ops = dev->netdev_ops;
+   int err = 0;
 
/* If driver uses VLAN ndo ops, use 8021q to delete vid
 * on device, otherwise try switchdev ops to delete vid.
@@ -137,8 +138,12 @@ static void __vlan_vid_del(struct net_device *dev, struct 
net_bridge *br,
},
};
 
-   switchdev_port_obj_del(dev, _obj);
+   err = switchdev_port_obj_del(dev, _obj);
+   if (err == -EOPNOTSUPP)
+   err = 0;
}
+
+   return err;
 }
 
 static int __vlan_del(struct net_port_vlans *v, u16 vid)
@@ -151,7 +156,11 @@ static int __vlan_del(struct net_port_vlans *v, u16 vid)
 
if (v->port_idx) {
struct net_bridge_port *p = v->parent.port;
-   __vlan_vid_del(p->dev, p->br, vid);
+   int err;
+
+   err = __vlan_vid_del(p->dev, p->br, vid);
+   if (err)
+   return err;
}
 
clear_bit(vid, v->vlan_bitmap);
-- 
2.5.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH net] net: bridge: check __vlan_vid_del for error

2015-09-05 Thread Vivien Didelot
Since __vlan_del can return an error code, change its inner function
__vlan_vid_del to return an eventual error from switchdev_port_obj_del.

Signed-off-by: Vivien Didelot 
---
 net/bridge/br_vlan.c | 17 +
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/net/bridge/br_vlan.c b/net/bridge/br_vlan.c
index 3cd8cc9..5f5a02b 100644
--- a/net/bridge/br_vlan.c
+++ b/net/bridge/br_vlan.c
@@ -117,10 +117,11 @@ out_filt:
return err;
 }
 
-static void __vlan_vid_del(struct net_device *dev, struct net_bridge *br,
-  u16 vid)
+static int __vlan_vid_del(struct net_device *dev, struct net_bridge *br,
+ u16 vid)
 {
const struct net_device_ops *ops = dev->netdev_ops;
+   int err = 0;
 
/* If driver uses VLAN ndo ops, use 8021q to delete vid
 * on device, otherwise try switchdev ops to delete vid.
@@ -137,8 +138,12 @@ static void __vlan_vid_del(struct net_device *dev, struct 
net_bridge *br,
},
};
 
-   switchdev_port_obj_del(dev, _obj);
+   err = switchdev_port_obj_del(dev, _obj);
+   if (err == -EOPNOTSUPP)
+   err = 0;
}
+
+   return err;
 }
 
 static int __vlan_del(struct net_port_vlans *v, u16 vid)
@@ -151,7 +156,11 @@ static int __vlan_del(struct net_port_vlans *v, u16 vid)
 
if (v->port_idx) {
struct net_bridge_port *p = v->parent.port;
-   __vlan_vid_del(p->dev, p->br, vid);
+   int err;
+
+   err = __vlan_vid_del(p->dev, p->br, vid);
+   if (err)
+   return err;
}
 
clear_bit(vid, v->vlan_bitmap);
-- 
2.5.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/