Re: BUG at drivers/net/dl2k.c

From: Francois Romieu
Date: Sat Feb 11 2006 - 14:56:52 EST


Vincent ETIENNE <ve@xxxxxxxxxxxx> :
>
> I'm using 2.6.14-mm2 kernel (x86_64) on a Bi-Opteron 246 board with a PCI-64
> card ( DLINK 550 GT ) plug on PCI-X interface. This card use the DL2000
> driver which seems to cause this problem logged during boot time :
>
> BUG: warning at drivers/net/dl2k.c:1481/mii_wait_link()
[...]

Try the bandaid below. If it is not enough, please open a PR at
http://bugzilla.kernel.org and add me to the Cc: list.

1ms delay in irq context always hurt. This stuff should be done in
an user-context.

Signed-off-by: Francois Romieu <romieu@xxxxxxxxxxxxx>

diff --git a/drivers/net/dl2k.c b/drivers/net/dl2k.c
index 430c628..2d47804 100644
--- a/drivers/net/dl2k.c
+++ b/drivers/net/dl2k.c
@@ -972,7 +972,7 @@ rio_error (struct net_device *dev, int i

/* Link change event */
if (int_status & LinkEvent) {
- if (mii_wait_link (dev, 10) == 0) {
+ if (mii_wait_link (dev, 1000) == 0) {
printk (KERN_INFO "%s: Link up\n", dev->name);
if (np->phy_media)
mii_get_media_pcs (dev);
@@ -1478,7 +1478,7 @@ mii_wait_link (struct net_device *dev, i
bmsr.image = mii_read (dev, phy_addr, MII_BMSR);
if (bmsr.bits.link_status)
return 0;
- mdelay (1);
+ udelay(10);
} while (--wait > 0);
return -1;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/