diff options
author | Jian Shen <shenjian15@huawei.com> | 2018-01-12 16:23:17 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-01-12 10:12:33 -0500 |
commit | bd368416c3c432acd5b525f3e6b038bef5ee9e40 (patch) | |
tree | 2cd1e3db2f3646cb93b150cc7aa929f7a7f66afa /drivers/net/ethernet/hisilicon | |
parent | 181d454b7220c0bfe8af6e21d5d5c80188635d08 (diff) | |
download | linux-bd368416c3c432acd5b525f3e6b038bef5ee9e40.tar.bz2 |
net: hns3: check for NULL function pointer in hns3_nic_set_features
It's necessary to check hook whether being defined before
calling, improve the reliability.
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/hisilicon')
-rw-r--r-- | drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c index a7ae4f3c17a8..ac848163ccae 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c @@ -1133,14 +1133,16 @@ static int hns3_nic_set_features(struct net_device *netdev, } } - if (changed & NETIF_F_HW_VLAN_CTAG_FILTER) { + if ((changed & NETIF_F_HW_VLAN_CTAG_FILTER) && + h->ae_algo->ops->enable_vlan_filter) { if (features & NETIF_F_HW_VLAN_CTAG_FILTER) h->ae_algo->ops->enable_vlan_filter(h, true); else h->ae_algo->ops->enable_vlan_filter(h, false); } - if (changed & NETIF_F_HW_VLAN_CTAG_RX) { + if ((changed & NETIF_F_HW_VLAN_CTAG_RX) && + h->ae_algo->ops->enable_hw_strip_rxvtag) { if (features & NETIF_F_HW_VLAN_CTAG_RX) ret = h->ae_algo->ops->enable_hw_strip_rxvtag(h, true); else |