net: hns3: Fix for command format parsing error in hclge_is_all_function_id_zero
authorXi Wang <wangxi11@huawei.com>
Tue, 14 Aug 2018 16:13:13 +0000 (17:13 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 15 Sep 2018 07:45:29 +0000 (09:45 +0200)
[ Upstream commit 6c39d5278e62956238a681e4cfc69fae5507fc57 ]

According to the functional specification of hardware, the first
descriptor of response from command 'lookup vlan talbe' is not valid.
Currently, the first descriptor is parsed as normal value, which will
cause an expected error.

This patch fixes this problem by skipping the first descriptor.

Fixes: 46a3df9f9718 ("net: hns3: Add HNS3 Acceleration Engine & Compatibility Layer Support")
Signed-off-by: Xi Wang <wangxi11@huawei.com>
Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c

index c133491..654aad6 100644 (file)
@@ -3105,7 +3105,7 @@ static bool hclge_is_all_function_id_zero(struct hclge_desc *desc)
 #define HCLGE_FUNC_NUMBER_PER_DESC 6
        int i, j;
 
-       for (i = 0; i < HCLGE_DESC_NUMBER; i++)
+       for (i = 1; i < HCLGE_DESC_NUMBER; i++)
                for (j = 0; j < HCLGE_FUNC_NUMBER_PER_DESC; j++)
                        if (desc[i].data[j])
                                return false;