Commit 2d5066fc authored by Jian Shen's avatar Jian Shen Committed by David S. Miller
Browse files

net: hns3: enable broadcast promisc mode when initializing VF



For revision 0x20, the broadcast promisc is enabled by firmware,
it's unnecessary to enable it when initializing VF.

For revision 0x21, it's necessary to enable broadcast promisc mode
when initializing or re-initializing VF, otherwise, it will be
unable to send and receive promisc packets.

Fixes: f01f5559 ("net: hns3: don't allow vf to enable promisc mode")
Signed-off-by: default avatarJian Shen <shenjian15@huawei.com>
Signed-off-by: default avatarPeng Li <lipeng321@huawei.com>
Signed-off-by: default avatarHuazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e4aa33ad
Loading
Loading
Loading
Loading
+11 −3
Original line number Original line Diff line number Diff line
@@ -2589,6 +2589,12 @@ static int hclgevf_reset_hdev(struct hclgevf_dev *hdev)
		return ret;
		return ret;
	}
	}


	if (pdev->revision >= 0x21) {
		ret = hclgevf_set_promisc_mode(hdev, true);
		if (ret)
			return ret;
	}

	dev_info(&hdev->pdev->dev, "Reset done\n");
	dev_info(&hdev->pdev->dev, "Reset done\n");


	return 0;
	return 0;
@@ -2668,9 +2674,11 @@ static int hclgevf_init_hdev(struct hclgevf_dev *hdev)
	 * firmware makes sure broadcast packets can be accepted.
	 * firmware makes sure broadcast packets can be accepted.
	 * For revision 0x21, default to enable broadcast promisc mode.
	 * For revision 0x21, default to enable broadcast promisc mode.
	 */
	 */
	if (pdev->revision >= 0x21) {
		ret = hclgevf_set_promisc_mode(hdev, true);
		ret = hclgevf_set_promisc_mode(hdev, true);
		if (ret)
		if (ret)
			goto err_config;
			goto err_config;
	}


	/* Initialize RSS for this VF */
	/* Initialize RSS for this VF */
	ret = hclgevf_rss_init_hw(hdev);
	ret = hclgevf_rss_init_hw(hdev);