|
@@ -3056,6 +3056,14 @@ void ixgbe_reinit_locked(struct ixgbe_adapter *adapter)
|
|
while (test_and_set_bit(__IXGBE_RESETTING, &adapter->state))
|
|
while (test_and_set_bit(__IXGBE_RESETTING, &adapter->state))
|
|
msleep(1);
|
|
msleep(1);
|
|
ixgbe_down(adapter);
|
|
ixgbe_down(adapter);
|
|
|
|
+ /*
|
|
|
|
+ * If SR-IOV enabled then wait a bit before bringing the adapter
|
|
|
|
+ * back up to give the VFs time to respond to the reset. The
|
|
|
|
+ * two second wait is based upon the watchdog timer cycle in
|
|
|
|
+ * the VF driver.
|
|
|
|
+ */
|
|
|
|
+ if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)
|
|
|
|
+ msleep(2000);
|
|
ixgbe_up(adapter);
|
|
ixgbe_up(adapter);
|
|
clear_bit(__IXGBE_RESETTING, &adapter->state);
|
|
clear_bit(__IXGBE_RESETTING, &adapter->state);
|
|
}
|
|
}
|