[lkml]   [2002]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] Rx FIFO Overrun error found
>  	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.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:15    [W:0.248 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site