[Intel-wired-lan] [PATCH 1/3] ixgbevf: refactor ixgbevf_update_mc_addr_list_vf

Hiroshi Shimamoto h-shimamoto at ct.jp.nec.com
Mon Jun 15 10:47:36 UTC 2015


From: Hiroshi Shimamoto <h-shimamoto at ct.jp.nec.com>

Add ixgbevf_request_mc_promisc_vf which is for request VF multicast
promiscuous mode, and move the codes from ixgbevf_update_mc_addr_list_vf.

Signed-off-by: Hiroshi Shimamoto <h-shimamoto at ct.jp.nec.com>
---
 drivers/net/ethernet/intel/ixgbevf/vf.c | 29 +++++++++++++++++++----------
 1 file changed, 19 insertions(+), 10 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbevf/vf.c b/drivers/net/ethernet/intel/ixgbevf/vf.c
index b5aac76..89aecd0 100644
--- a/drivers/net/ethernet/intel/ixgbevf/vf.c
+++ b/drivers/net/ethernet/intel/ixgbevf/vf.c
@@ -426,6 +426,24 @@ static void ixgbevf_write_msg_read_ack(struct ixgbe_hw *hw,
 		mbx->ops.read_posted(hw, retmsg, size);
 }
 
+static s32 ixgbevf_request_mc_promisc_vf(struct ixgbe_hw *hw)
+{
+	struct ixgbevf_adapter *adapter = hw->back;
+	u32 msgbuf[IXGBE_VFMAILBOX_SIZE];
+
+	dev_info(&adapter->pdev->dev, "Request MC PROMISC\n");
+
+	memset(msgbuf, 0, sizeof(msgbuf));
+
+	/* enabling multicast promiscuous */
+	msgbuf[0] = IXGBE_VF_SET_MC_PROMISC;
+	msgbuf[1] = 1;
+
+	ixgbevf_write_msg_read_ack(hw, msgbuf, 2);
+
+	return 0;
+}
+
 /**
  *  ixgbevf_update_mc_addr_list_vf - Update Multicast addresses
  *  @hw: pointer to the HW structure
@@ -457,18 +475,9 @@ static s32 ixgbevf_update_mc_addr_list_vf(struct ixgbe_hw *hw,
 		 */
 		if (hw->api_version == ixgbe_mbox_api_12) {
 			if (!hw->mac.mc_promisc) {
-				struct ixgbevf_adapter *adapter = hw->back;
-
-				dev_info(&adapter->pdev->dev, "Request MC PROMISC\n");
-
-				/* enabling multicast promiscuous */
-				msgbuf[0] = IXGBE_VF_SET_MC_PROMISC;
-				msgbuf[1] = 1;
-				ixgbevf_write_msg_read_ack(hw, msgbuf, 2);
-
+				ixgbevf_request_mc_promisc_vf(hw);
 				hw->mac.mc_promisc = true;
 			}
-
 			return 0;
 		}
 		cnt = 30;
-- 
1.8.3.1



More information about the Intel-wired-lan mailing list