From: Jian Shen Date: Fri, 12 Jan 2018 08:23:17 +0000 (+0800) Subject: net: hns3: check for NULL function pointer in hns3_nic_set_features X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=bd368416c3c432acd5b525f3e6b038bef5ee9e40;p=linux.git 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 Signed-off-by: Peng Li Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c index a7ae4f3c17a8a..ac848163ccae4 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