Re: [2.3.51] via-rhine died

From: Urban Widmark (urban@svenskatest.se)
Date: Tue Mar 14 2000 - 15:29:20 EST


On Tue, 14 Mar 2000, GOTO Masanori wrote:

> At Sat, 11 Mar 2000 16:16:54 +0100 (CET),
> Urban Widmark <urban@svenskatest.se> wrote:
> > > When I try to ping anything outside my box, I get 'unreachable' errors. I
> > > tried compiling it as a module or inside the kernel - no luck. 2.3.49
> > > worked fine.
> >
> > Same here. My kernel log:
>
> Also same under my environment.
> This problem was appeared under 2.3.50:

I get no interrupts from the card with 2.3.51 and pre-2.3.52-2 (assuming
2.3.50 would be the same). It appears something was lost in the change to
the init routine.

The patch below makes the card come to life for me. patch is for
pre-2.3.52-2 but should work with 2.3.51. Please test it and see if it
works for you. Changing the #if 1 to #if 0 should make it stop working
again.

I'm guessing init_alloc_dev doesn't allocate the device private area on
the boundary that the via-rhine driver assumes. But I can't find where it
assumes things about that (unless virt_to_bus is involved ...?).

/Urban

--- linux/drivers/net/via-rhine.c.52 Tue Mar 14 19:05:59 2000
+++ linux/drivers/net/via-rhine.c Tue Mar 14 21:04:40 2000
@@ -426,6 +426,14 @@
                         card_idx);
                 goto err_out;
         }
+#if 1
+ /* We need this for some reason ... why? */
+ np = (void *)(((long)kmalloc(sizeof(*np), GFP_KERNEL) + 31) & ~31);
+ if(!np)
+ goto err_out_free_netdev;
+ memset(np, 0, sizeof(*np));
+ dev->priv = np;
+#endif
         
         if (!request_region(pci_resource_start (pdev, 0), io_size, dev->name)) {
                 printk (KERN_ERR "request_region failed for device %s, region 0x%X @ 0x%lX\n",

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



This archive was generated by hypermail 2b29 : Wed Mar 15 2000 - 21:00:28 EST