Re: forcedeth problems on 2.6.20-rc6-mm3

From: Ayaz Abdulla
Date: Thu Feb 08 2007 - 23:56:50 EST


David Ford wrote:
On 2/5/07, *Andrew Morton* <akpm@xxxxxxxxxxxxxxxxxxxx <mailto:akpm@xxxxxxxxxxxxxxxxxxxx>> wrote:

On Sun, 04 Feb 2007 23:48:33 -0600 Robert Hancock <hancockr@xxxxxxx
<mailto:hancockr@xxxxxxx>> wrote:

> Andrew Morton wrote:
> > On Sun, 04 Feb 2007 23:13:09 -0600 Robert Hancock <
hancockr@xxxxxxx <mailto:hancockr@xxxxxxx>> wrote:
> >
> >> Something's busted with forcedeth in 2.6.20-rc6-mm3 for me
relative to
> >> 2.6.20-rc6. There's no errors in dmesg, but it seems no
packets ever get
> >> received and so the machine can't get an IP address. I tried
reverting
> >> all the -mm changes to drivers/net/forcedeth.c, which didn't
help. The
> >> network controller shares an IRQ with the USB OHCI controller
which is
> >> receiving interrupts, so it doesn't seem like an interrupt routing
> >> problem, though I suppose something wierd could be happening
there.
> >>
> >> This is on an Asus A8N-SLI Deluxe (CK804 chipset) on x86_64.
> >>
> >> Any suggestions on how to debug/what to try reverting to see
what's
> >> causing this?
> >
> > There are many forcedeth changes in git-netdev-all.patch. Can you
> > try reverting drivers/net/forcedeth.c back to the unpatched version
> > from 2.6.20-rc6?
> >
> > Thanks.
> >
>
> That's essentially what I did, it didn't appear to help. I assume
the
> problem must lie elsewhere..
>

doh, I missed that.

It's presumably not the driver and nobody else seems to be hitting
this, so
it must be something peculiar to your setup. But I don't know what it
might be, sorry.



Actually it has been reported by several other people here including myself but it seems to have been overlooked here ;)

See the messages with forcedeth in the subject line over the past few weeks.

I put 2.6.20-gentoo on my machine this weekend with debug printks enabled and right now I have yet to lose connectivity -- going on ~20 hours worth.

Previously I would lose connectivity within minutes of booting up. I had a script set up that detected the ping loss of a gateway and would restart both interfaces (dual onboard nics).

Tonight I will disable the debug printks and see if the system remains online. There was a big patch applied to forcedeth for 2.6.20, previously I was having these issues for several of the -19 series.

David

For all those who are having issues, please try out the attached patch.

Ayaz


-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information. Any unauthorized review, use, disclosure or distribution
is prohibited. If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
--- orig/drivers/net/forcedeth.c 2007-02-08 21:41:59.000000000 -0500
+++ new/drivers/net/forcedeth.c 2007-02-08 21:44:53.000000000 -0500
@@ -3104,13 +3104,17 @@
struct fe_priv *np = netdev_priv(dev);
u8 __iomem *base = get_hwbase(dev);
unsigned long flags;
+ u32 retcode;

- if (np->desc_ver == DESC_VER_1 || np->desc_ver == DESC_VER_2)
+ if (np->desc_ver == DESC_VER_1 || np->desc_ver == DESC_VER_2) {
pkts = nv_rx_process(dev, limit);
- else
+ retcode = nv_alloc_rx(dev);
+ } else {
pkts = nv_rx_process_optimized(dev, limit);
+ retcode = nv_alloc_rx_optimized(dev);
+ }

- if (nv_alloc_rx(dev)) {
+ if (retcode) {
spin_lock_irqsave(&np->lock, flags);
if (!np->in_shutdown)
mod_timer(&np->oom_kick, jiffies + OOM_REFILL);