igbvf: Allow VF driver to correctly recognize failure to set mac
Subsystems (2)
PATCH 1/1 igbvf: Allow VF driver to correctly recognize failure to set mac
From: Alexander Duyck <[email protected]>
The VF driver was not correctly recognizing that it did not correctly set it's mac address. As a result the VF driver was unable to receive network traffic until being unloaded and reloaded. The issue was root caused to the fact that the CTS bit was not taken into account when checking for the request being NAKed.
---
drivers/net/igbvf/vf.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
drivers/net/igbvf/vf.c +4 -0
@@ -274,6 +274,8 @@ static s32 e1000_set_vfta_vf(struct e1000_hw *hw, u16 vid, bool set) err = mbx->ops.read_posted (hw, msgbuf,2 ); + msgbuf[0 ] &= ~E1000_VT_MSGTYPE_CTS ; +/* if nacked the vlan was rejected */ if (!err && (msgbuf[0 ] == (E1000_VF_SET_VLAN |E1000_VT_MSGTYPE_NACK ))) err = -E1000_ERR_MAC_INIT ;
@@ -317,6 +319,8 @@ static void e1000_rar_set_vf(struct e1000_hw *hw, u8 * addr, u32 index)if (!ret_val) ret_val = mbx->ops.read_posted (hw, msgbuf,3 ); + msgbuf[0 ] &= ~E1000_VT_MSGTYPE_CTS ; +/* if nacked the address was rejected, use "perm_addr" */ if (!ret_val && (msgbuf[0 ] == (E1000_VF_SET_MAC_ADDR |E1000_VT_MSGTYPE_NACK )))
From: Jeff Kirsher <[email protected]>
Date: Tue, 04 Aug 2009 10:21:04 -0700
Quoted 8 lines
The VF driver was not correctly recognizing that it did not correctly set it's mac address. As a result the VF driver was unable to receive network traffic until being unloaded and reloaded. The issue was root caused to the fact that the CTS bit was not taken into account when checking for the request being NAKed.
Signed-off-by Alexander Duyck <[email protected]>Signed-off-by Jeff Kirsher <[email protected]>
Applied, thanks.