Browse Source

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>
Jian Shen 7 years ago
parent
commit
bd368416c3
1 changed files with 4 additions and 2 deletions
  1. 4 2
      drivers/net/ethernet/hisilicon/hns3/hns3_enet.c

+ 4 - 2
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