diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index 34c519eb1db5092a6e1bd17e02b9a3e53a5c5cb2..5bc4b1ed67b39fa6761abb4027191bcd4977ccaa 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -2216,6 +2216,8 @@ static int vxlan_open(struct net_device *dev)
 
 	if (vxlan_addr_multicast(&vxlan->default_dst.remote_ip)) {
 		ret = vxlan_igmp_join(vxlan);
+		if (ret == -EADDRINUSE)
+			ret = 0;
 		if (ret) {
 			vxlan_sock_release(vs);
 			return ret;