From: Hiroshi Shimamoto <h-shimam...@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-shimam...@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 N�����r��y����b�X��ǧv�^�){.n�+���z�^�)����w*jg��������ݢj/���z�ޖ��2�ޙ����&�)ߡ�a�����G���h��j:+v���w��٥