Commit 0d3ee0d9 authored by Greg Edwards's avatar Greg Edwards Committed by Jeff Kirsher

igbvf: after mailbox write, wait for reply

Two of the VF mailbox commands were not waiting for a reply from the PF,
which can result in a VF mailbox timeout in the VM for the next command.
Signed-off-by: default avatarGreg Edwards <gedwards@ddn.com>
Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 32652c2a
...@@ -230,6 +230,7 @@ static void e1000_update_mc_addr_list_vf(struct e1000_hw *hw, ...@@ -230,6 +230,7 @@ static void e1000_update_mc_addr_list_vf(struct e1000_hw *hw,
u16 *hash_list = (u16 *)&msgbuf[1]; u16 *hash_list = (u16 *)&msgbuf[1];
u32 hash_value; u32 hash_value;
u32 cnt, i; u32 cnt, i;
s32 ret_val;
/* Each entry in the list uses 1 16 bit word. We have 30 /* Each entry in the list uses 1 16 bit word. We have 30
* 16 bit words available in our HW msg buffer (minus 1 for the * 16 bit words available in our HW msg buffer (minus 1 for the
...@@ -250,7 +251,9 @@ static void e1000_update_mc_addr_list_vf(struct e1000_hw *hw, ...@@ -250,7 +251,9 @@ static void e1000_update_mc_addr_list_vf(struct e1000_hw *hw,
mc_addr_list += ETH_ALEN; mc_addr_list += ETH_ALEN;
} }
mbx->ops.write_posted(hw, msgbuf, E1000_VFMAILBOX_SIZE); ret_val = mbx->ops.write_posted(hw, msgbuf, E1000_VFMAILBOX_SIZE);
if (!ret_val)
mbx->ops.read_posted(hw, msgbuf, 1);
} }
/** /**
...@@ -293,11 +296,14 @@ void e1000_rlpml_set_vf(struct e1000_hw *hw, u16 max_size) ...@@ -293,11 +296,14 @@ void e1000_rlpml_set_vf(struct e1000_hw *hw, u16 max_size)
{ {
struct e1000_mbx_info *mbx = &hw->mbx; struct e1000_mbx_info *mbx = &hw->mbx;
u32 msgbuf[2]; u32 msgbuf[2];
s32 ret_val;
msgbuf[0] = E1000_VF_SET_LPE; msgbuf[0] = E1000_VF_SET_LPE;
msgbuf[1] = max_size; msgbuf[1] = max_size;
mbx->ops.write_posted(hw, msgbuf, 2); ret_val = mbx->ops.write_posted(hw, msgbuf, 2);
if (!ret_val)
mbx->ops.read_posted(hw, msgbuf, 1);
} }
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment