]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - net/bridge/br_device.c
Merge tag 'iio-fixes-for-5.5a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23...
[linux.git] / net / bridge / br_device.c
index 434effde02c330f26d5b5b2aaa67c146f2cbd0d3..fb38add21b378bf01823ea8788af87fa35297cf8 100644 (file)
@@ -245,6 +245,12 @@ static int br_set_mac_address(struct net_device *dev, void *p)
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
 
+       /* dev_set_mac_addr() can be called by a master device on bridge's
+        * NETDEV_UNREGISTER, but since it's being destroyed do nothing
+        */
+       if (dev->reg_state != NETREG_REGISTERED)
+               return -EBUSY;
+
        spin_lock_bh(&br->lock);
        if (!ether_addr_equal(dev->dev_addr, addr->sa_data)) {
                /* Mac address will be changed in br_stp_change_bridge_id(). */