diff --git a/[refs] b/[refs] index fd1537196e81..e03a4daa6809 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 801e9096c566d40d2e7c9903dc902fa01a5a0b36 +refs/heads/master: aa13bd6ef4ddd81080f972220fae30eb28f65b17 diff --git a/trunk/drivers/net/qlge/qlge_ethtool.c b/trunk/drivers/net/qlge/qlge_ethtool.c index 4f26afeb0f38..05b8bde9980d 100644 --- a/trunk/drivers/net/qlge/qlge_ethtool.c +++ b/trunk/drivers/net/qlge/qlge_ethtool.c @@ -503,7 +503,8 @@ static int ql_run_loopback_test(struct ql_adapter *qdev) return -EPIPE; atomic_inc(&qdev->lb_count); } - + /* Give queue time to settle before testing results. */ + msleep(2); ql_clean_lb_rx_ring(&qdev->rx_ring[0], 128); return atomic_read(&qdev->lb_count) ? -EIO : 0; } @@ -536,6 +537,10 @@ static void ql_self_test(struct net_device *ndev, data[0] = 0; } clear_bit(QL_SELFTEST, &qdev->flags); + /* Give link time to come up after + * port configuration changes. + */ + msleep_interruptible(4 * 1000); } else { netif_err(qdev, drv, qdev->ndev, "is down, Loopback test will fail.\n");