提交 8905072a 编写于 作者: P Piotr Marczak 提交者: Tony Nguyen

iavf: Fix failure to exit out from last all-multicast mode

The driver could only quit allmulti when allmulti and promisc modes are
turn on at the same time. If promisc had been off there was no way to turn
off allmulti mode.
The patch corrects this behavior. Switching allmulti does not depends on
promisc state mode anymore

Fixes: f42a5c74 ("i40e: Add allmulti support for the VF")
Signed-off-by: NPiotr Marczak <piotr.marczak@intel.com>
Tested-by: NTony Brelinski <tony.brelinski@intel.com>
Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
上级 2135a8d5
...@@ -1639,8 +1639,7 @@ static int iavf_process_aq_command(struct iavf_adapter *adapter) ...@@ -1639,8 +1639,7 @@ static int iavf_process_aq_command(struct iavf_adapter *adapter)
iavf_set_promiscuous(adapter, FLAG_VF_MULTICAST_PROMISC); iavf_set_promiscuous(adapter, FLAG_VF_MULTICAST_PROMISC);
return 0; return 0;
} }
if ((adapter->aq_required & IAVF_FLAG_AQ_RELEASE_PROMISC) ||
if ((adapter->aq_required & IAVF_FLAG_AQ_RELEASE_PROMISC) &&
(adapter->aq_required & IAVF_FLAG_AQ_RELEASE_ALLMULTI)) { (adapter->aq_required & IAVF_FLAG_AQ_RELEASE_ALLMULTI)) {
iavf_set_promiscuous(adapter, 0); iavf_set_promiscuous(adapter, 0);
return 0; return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册