+/* return 1: setup complete, return 0: setup not complete, and wait timeout*/
+static int
+ixgbe_dev_wait_setup_link_complete(struct rte_eth_dev *dev)
+{
+#define DELAY_INTERVAL 100 /* 100ms */
+#define MAX_TIMEOUT 90 /* 9s (90 * 100ms) in total */
+ struct ixgbe_adapter *ad = dev->data->dev_private;
+ int timeout = MAX_TIMEOUT;
+
+ while (rte_atomic32_read(&ad->link_thread_running) && timeout) {
+ msec_delay(DELAY_INTERVAL);
+ timeout--;
+ }
+
+
+ return !!timeout;
+}
+