Re: [PATCH] Rx FIFO Overrun error found

Tim Hockin (thockin@hockin.org)
Sat, 12 Jan 2002 13:11:43 -0800 (PST)


> if (dspcfg != DSPCFG_VAL) {
> if (!netif_queue_stopped(dev)) {
> + spin_unlock_irq(&np->lock);
> printk(KERN_INFO
> "%s: possible phy reset: re-initializing\n",
> dev->name);
> disable_irq(dev->irq);
> spin_lock_irq(&np->lock);
> + natsemi_reset(dev);
> + reinit_ring(dev);
> init_registers(dev);
> spin_unlock_irq(&np->lock);
> enable_irq(dev->irq);

I'm not sure you want or need a natsemi_reset here - I'll need to check my
notes on this when I get back to work. Can I ask why this change was made?
This is a very hard case to reproduce, so I'm not very comfortable changing
the codepath :) We've had National looking at this buggy behavior for
months now, with little result.

> /* enable the WOL interrupt.
> * Could be used to send a netlink message.
> */
> - writel(readl(ioaddr + IntrMask) | WOLPkt, ioaddr + IntrMask);
> + writel(WOLPkt, ioaddr + IntrMask);
> + writel(1, ioaddr + IntrEnable);

is this intended to blow away the other bits in IntrMask? Keep in mind
that Wake-On-Phy requires the PHY interrupt enabled, but I don't know if it
needs it on in intrmask or just in the Phy intr reg.

There are a few changes in here I want to double check, but all my
test-setup and notes for natsemi are at work - I may have more comments
next week.

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