]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
net: hns3: check for NULL function pointer in hns3_nic_set_features
authorJian Shen <shenjian15@huawei.com>
Fri, 12 Jan 2018 08:23:17 +0000 (16:23 +0800)
committerSeth Forshee <seth.forshee@canonical.com>
Fri, 16 Mar 2018 15:47:45 +0000 (10:47 -0500)
BugLink: http://bugs.launchpad.net/bugs/1756097
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>
(cherry picked from commit bd368416c3c432acd5b525f3e6b038bef5ee9e40)
Signed-off-by: Manoj Iyer <manoj.iyer@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c

index a7ae4f3c17a8a9497f05bed983fff784e15b009e..ac848163ccae42d71a6f4e739c941e13945be804 100644 (file)
@@ -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