while compiling kernel, during make modules, gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-gaming-r3/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=pentium3 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.4.20-gaming-r3/include/linux/modversions.h -nostdinc -iwithprefix include -DKBUILD_BASENAME=fealnx -c -o fealnx.o fealnx.c fealnx.c: In function `tx_timeout': fealnx.c:1201: error: invalid lvalue in assignment In file /usr/src/linux-2.4.20-gaming-r3/drivers/net/fealnx.c static void tx_timeout(struct net_device *dev) { struct netdev_private *np = dev->priv; long ioaddr = dev->base_addr; int i; printk(KERN_WARNING "%s: Transmit timed out, status %8.8x," " resetting...\n", dev->name, readl(ioaddr + ISR)); { printk(KERN_DEBUG " Rx ring %p: ", np->rx_ring); for (i = 0; i < RX_RING_SIZE; i++) printk(" %8.8x", (unsigned int) np->rx_ring[i].status); printk("\n" KERN_DEBUG " Tx ring %p: ", np->tx_ring); for (i = 0; i < TX_RING_SIZE; i++) printk(" %4.4x", np->tx_ring[i].status); printk("\n"); } + dev->if_port = np->default_port; // ---> line 1201 where the error occurs /* Reinit. Gross */
This is a bug present in the 2.4.20 vanilla sources. The file in question, drivers/net/fealnx.c, has picked up a stray additional line. Removing the line in question appears to fix things. The patch that was applied in .21pre1 follows: diff -Naur -X /home/marcelo/lib/dontdiff linux-2.4.20/drivers/net/fealnx.c linux-2.4.21/drivers/net/fealnx.c --- linux-2.4.20/drivers/net/fealnx.c 2002-12-10 20:22:57.000000000 +0000 +++ linux-2.4.21/drivers/net/fealnx.c 2002-12-10 20:22:09.000000000 +0000 @@ -1198,7 +1198,6 @@ printk("\n"); } - + dev->if_port = np->default_port; /* Reinit. Gross */ /* Reset the chip's Tx and Rx processes. */ If gentoo-sources and gaming-sources are to continue using 2.4.20, would it be possible to include this patch?
Fixed in CVS in -r5... I'll bump gaming-sources when I or somebody decides to stick the GCC 3.3 patches in.