ipvlan: use netdev_is_rx_handler_busy instead of checking specific type
authorMahesh Bandewar <maheshb@google.com>
Wed, 18 Jan 2017 23:02:53 +0000 (15:02 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Jan 2017 17:22:26 +0000 (12:22 -0500)
IPvlan checks if the master device is already used by checking a
specific device (here it's macvlan device). This is technically not
sufficient and it should just ensure the rx_handler is busy or not.
This would be a super check that includes macvlan and any other that
has already registered rx-handler.

Signed-off-by: Mahesh Bandewar <maheshb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ipvlan/ipvlan_main.c

index b5c390f0f2b353a159ba4d132613b7bb38ec3692..95b18f4602cf1d9653fd740c56f8644d764189a4 100644 (file)
@@ -102,8 +102,8 @@ static int ipvlan_port_create(struct net_device *dev)
                return -EINVAL;
        }
 
-       if (netif_is_macvlan_port(dev)) {
-               netdev_err(dev, "Master is a macvlan port.\n");
+       if (netdev_is_rx_handler_busy(dev)) {
+               netdev_err(dev, "Device is already in use.\n");
                return -EBUSY;
        }