Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934000AbeAKLRB (ORCPT + 1 other); Thu, 11 Jan 2018 06:17:01 -0500 Received: from szxga07-in.huawei.com ([45.249.212.35]:35671 "EHLO huawei.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S933883AbeAKLQy (ORCPT ); Thu, 11 Jan 2018 06:16:54 -0500 From: Peng Li To: CC: , , , , Subject: [PATCH net-next 11/11] net: hns3: check for NULL function pointer in hns3_nic_set_features Date: Thu, 11 Jan 2018 19:46:06 +0800 Message-ID: <1515671166-48006-12-git-send-email-lipeng321@huawei.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1515671166-48006-1-git-send-email-lipeng321@huawei.com> References: <1515671166-48006-1-git-send-email-lipeng321@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.71.200.31] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: From: Jian Shen It's necessary to check hook whether being defined before calling, improve the reliability. Signed-off-by: Jian Shen Signed-off-by: Peng Li --- drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 6 ++++-- 1 file 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 a7ae4f3..ac84816 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 -- 1.9.1