提交 a16dda0e 编写于 作者: M Michael Chan 提交者: David S. Miller

[BNX2]: Remove udelay() in copper PHY code.

Change a long udelay() in bnx2_setup_copper_phy() to msleep().
Signed-off-by: NMichael Chan <mchan@broadcom.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 f8dd064e
...@@ -1159,7 +1159,6 @@ bnx2_setup_copper_phy(struct bnx2 *bp) ...@@ -1159,7 +1159,6 @@ bnx2_setup_copper_phy(struct bnx2 *bp)
} }
if (new_bmcr != bmcr) { if (new_bmcr != bmcr) {
u32 bmsr; u32 bmsr;
int i = 0;
bnx2_read_phy(bp, MII_BMSR, &bmsr); bnx2_read_phy(bp, MII_BMSR, &bmsr);
bnx2_read_phy(bp, MII_BMSR, &bmsr); bnx2_read_phy(bp, MII_BMSR, &bmsr);
...@@ -1167,12 +1166,12 @@ bnx2_setup_copper_phy(struct bnx2 *bp) ...@@ -1167,12 +1166,12 @@ bnx2_setup_copper_phy(struct bnx2 *bp)
if (bmsr & BMSR_LSTATUS) { if (bmsr & BMSR_LSTATUS) {
/* Force link down */ /* Force link down */
bnx2_write_phy(bp, MII_BMCR, BMCR_LOOPBACK); bnx2_write_phy(bp, MII_BMCR, BMCR_LOOPBACK);
do { spin_unlock_bh(&bp->phy_lock);
udelay(100); msleep(50);
bnx2_read_phy(bp, MII_BMSR, &bmsr); spin_lock_bh(&bp->phy_lock);
bnx2_read_phy(bp, MII_BMSR, &bmsr);
i++; bnx2_read_phy(bp, MII_BMSR, &bmsr);
} while ((bmsr & BMSR_LSTATUS) && (i < 620)); bnx2_read_phy(bp, MII_BMSR, &bmsr);
} }
bnx2_write_phy(bp, MII_BMCR, new_bmcr); bnx2_write_phy(bp, MII_BMCR, new_bmcr);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册