From bbd5b6f44bcc798a6636f52ed843b1cef1372f43 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Mon, 13 May 2013 16:39:26 -0700 Subject: [PATCH] netdev-linux: Skip NETDEV_UP test in netdev_linux_set_etheraddr() for taps. netdev_turn_flags_off() does nothing if the flags that one turns off are already off. Reported-by: Ethan Jackson Signed-off-by: Ben Pfaff Acked-by: Ethan Jackson --- lib/netdev-linux.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c index b548996b9..d73115be9 100644 --- a/lib/netdev-linux.c +++ b/lib/netdev-linux.c @@ -977,11 +977,7 @@ netdev_linux_set_etheraddr(struct netdev *netdev_, /* Tap devices must be brought down before setting the address. */ if (is_tap_netdev(netdev_)) { - enum netdev_flags flags; - - if (!netdev_get_flags(netdev_, &flags) && (flags & NETDEV_UP)) { - netdev_turn_flags_off(netdev_, NETDEV_UP, &sf); - } + netdev_turn_flags_off(netdev_, NETDEV_UP, &sf); } error = set_etheraddr(netdev_get_name(netdev_), mac); if (!error || error == ENODEV) { -- 2.47.0