diff options
Diffstat (limited to 'include/net/l3mdev.h')
-rw-r--r-- | include/net/l3mdev.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/net/l3mdev.h b/include/net/l3mdev.h index 78fa0ac4613c..5175fd63cd82 100644 --- a/include/net/l3mdev.h +++ b/include/net/l3mdev.h | |||
@@ -153,7 +153,8 @@ struct sk_buff *l3mdev_l3_rcv(struct sk_buff *skb, u16 proto) | |||
153 | 153 | ||
154 | if (netif_is_l3_slave(skb->dev)) | 154 | if (netif_is_l3_slave(skb->dev)) |
155 | master = netdev_master_upper_dev_get_rcu(skb->dev); | 155 | master = netdev_master_upper_dev_get_rcu(skb->dev); |
156 | else if (netif_is_l3_master(skb->dev)) | 156 | else if (netif_is_l3_master(skb->dev) || |
157 | netif_has_l3_rx_handler(skb->dev)) | ||
157 | master = skb->dev; | 158 | master = skb->dev; |
158 | 159 | ||
159 | if (master && master->l3mdev_ops->l3mdev_l3_rcv) | 160 | if (master && master->l3mdev_ops->l3mdev_l3_rcv) |