diff options
Diffstat (limited to 'drivers/net/macvlan.c')
-rw-r--r-- | drivers/net/macvlan.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index 70d3ef4a2c5f..214a8cf2b708 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c | |||
@@ -376,7 +376,8 @@ static u32 macvlan_ethtool_get_rx_csum(struct net_device *dev) | |||
376 | const struct macvlan_dev *vlan = netdev_priv(dev); | 376 | const struct macvlan_dev *vlan = netdev_priv(dev); |
377 | struct net_device *lowerdev = vlan->lowerdev; | 377 | struct net_device *lowerdev = vlan->lowerdev; |
378 | 378 | ||
379 | if (lowerdev->ethtool_ops->get_rx_csum == NULL) | 379 | if (lowerdev->ethtool_ops == NULL || |
380 | lowerdev->ethtool_ops->get_rx_csum == NULL) | ||
380 | return 0; | 381 | return 0; |
381 | return lowerdev->ethtool_ops->get_rx_csum(lowerdev); | 382 | return lowerdev->ethtool_ops->get_rx_csum(lowerdev); |
382 | } | 383 | } |
@@ -387,7 +388,8 @@ static int macvlan_ethtool_get_settings(struct net_device *dev, | |||
387 | const struct macvlan_dev *vlan = netdev_priv(dev); | 388 | const struct macvlan_dev *vlan = netdev_priv(dev); |
388 | struct net_device *lowerdev = vlan->lowerdev; | 389 | struct net_device *lowerdev = vlan->lowerdev; |
389 | 390 | ||
390 | if (!lowerdev->ethtool_ops->get_settings) | 391 | if (!lowerdev->ethtool_ops || |
392 | !lowerdev->ethtool_ops->get_settings) | ||
391 | return -EOPNOTSUPP; | 393 | return -EOPNOTSUPP; |
392 | 394 | ||
393 | return lowerdev->ethtool_ops->get_settings(lowerdev, cmd); | 395 | return lowerdev->ethtool_ops->get_settings(lowerdev, cmd); |
@@ -398,7 +400,8 @@ static u32 macvlan_ethtool_get_flags(struct net_device *dev) | |||
398 | const struct macvlan_dev *vlan = netdev_priv(dev); | 400 | const struct macvlan_dev *vlan = netdev_priv(dev); |
399 | struct net_device *lowerdev = vlan->lowerdev; | 401 | struct net_device *lowerdev = vlan->lowerdev; |
400 | 402 | ||
401 | if (!lowerdev->ethtool_ops->get_flags) | 403 | if (!lowerdev->ethtool_ops || |
404 | !lowerdev->ethtool_ops->get_flags) | ||
402 | return 0; | 405 | return 0; |
403 | return lowerdev->ethtool_ops->get_flags(lowerdev); | 406 | return lowerdev->ethtool_ops->get_flags(lowerdev); |
404 | } | 407 | } |