aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbe/ixgbe_82599.c
diff options
context:
space:
mode:
authorGreg Rose <gregory.v.rose@intel.com>2010-01-22 17:46:22 -0500
committerDavid S. Miller <davem@davemloft.net>2010-01-23 04:13:55 -0500
commitc9205697c7527173c8f8bfa9f8c9dabdbced3c49 (patch)
treebee9e69b62c7373fd050fed926d2116f8a097dd8 /drivers/net/ixgbe/ixgbe_82599.c
parentef291b8c71ee934d077676b891494c50e17ccc28 (diff)
ixgbe: Allow the VF driver to be loaded before the PF driver
The PF Reset Done bit should not be set in the extended control register until the PF has actually completed the bring up process. It is a mis- interpretation of the purpose of this bit to assume it should be set when the physical reset of the device is done. Instead it should be used to indicate to the VFs when the PF is ready to provide them with required services. This is not until after the PF is finished coming up and ready to process mailbox events. Signed-off-by: Greg Rose <gregory.v.rose@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_82599.c')
-rw-r--r--drivers/net/ixgbe/ixgbe_82599.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/net/ixgbe/ixgbe_82599.c b/drivers/net/ixgbe/ixgbe_82599.c
index c92b5b8b318..d4ed6adb797 100644
--- a/drivers/net/ixgbe/ixgbe_82599.c
+++ b/drivers/net/ixgbe/ixgbe_82599.c
@@ -890,7 +890,7 @@ static s32 ixgbe_setup_copper_link_82599(struct ixgbe_hw *hw,
890static s32 ixgbe_reset_hw_82599(struct ixgbe_hw *hw) 890static s32 ixgbe_reset_hw_82599(struct ixgbe_hw *hw)
891{ 891{
892 s32 status = 0; 892 s32 status = 0;
893 u32 ctrl, ctrl_ext; 893 u32 ctrl;
894 u32 i; 894 u32 i;
895 u32 autoc; 895 u32 autoc;
896 u32 autoc2; 896 u32 autoc2;
@@ -945,10 +945,6 @@ static s32 ixgbe_reset_hw_82599(struct ixgbe_hw *hw)
945 status = IXGBE_ERR_RESET_FAILED; 945 status = IXGBE_ERR_RESET_FAILED;
946 hw_dbg(hw, "Reset polling failed to complete.\n"); 946 hw_dbg(hw, "Reset polling failed to complete.\n");
947 } 947 }
948 /* Clear PF Reset Done bit so PF/VF Mail Ops can work */
949 ctrl_ext = IXGBE_READ_REG(hw, IXGBE_CTRL_EXT);
950 ctrl_ext |= IXGBE_CTRL_EXT_PFRSTD;
951 IXGBE_WRITE_REG(hw, IXGBE_CTRL_EXT, ctrl_ext);
952 948
953 msleep(50); 949 msleep(50);
954 950