B44: increase wait loop
authorGary Zambrano <zambrano@broadcom.com>
Fri, 16 Feb 2007 21:27:27 +0000 (13:27 -0800)
committerJeff Garzik <jeff@garzik.org>
Sat, 17 Feb 2007 20:37:14 +0000 (15:37 -0500)
The b44 Enet control disable bit may take longer to clear on some
systems, so the loop count is increased with this patch. Functionality
is not compromised, but a debug message can be seen when the bit is not
cleared within the count value.
Thanks to Vasileios Lourdas who reported the problem.

Signed-off by: Gary Zambrano <zambrano@broadcom.com>

Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/b44.c

index 9332f4c..aaada57 100644 (file)
@@ -1288,7 +1288,7 @@ static void b44_chip_reset(struct b44 *bp)
        if (ssb_is_core_up(bp)) {
                bw32(bp, B44_RCV_LAZY, 0);
                bw32(bp, B44_ENET_CTRL, ENET_CTRL_DISABLE);
-               b44_wait_bit(bp, B44_ENET_CTRL, ENET_CTRL_DISABLE, 100, 1);
+               b44_wait_bit(bp, B44_ENET_CTRL, ENET_CTRL_DISABLE, 200, 1);
                bw32(bp, B44_DMATX_CTRL, 0);
                bp->tx_prod = bp->tx_cons = 0;
                if (br32(bp, B44_DMARX_STAT) & DMARX_STAT_EMASK) {