Re: [PATCH 2.6.24-mm1] error compiling net driver NE2000/NE1000
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2008-02-04 21:12:06
Also in:
lkml
On Mon, 4 Feb 2008 16:29:21 +0100 Pierre Peiffer [off-list ref] wrote:
Hi, When I compile the kernel 2.6.24-mm1 with: CONFIG_NET_ISA=y CONFIG_NE2000=y I have the following compile error: ... GEN .version CHK include/linux/compile.h UPD include/linux/compile.h CC init/version.o LD init/built-in.o LD .tmp_vmlinux1 drivers/built-in.o: In function `ne_block_output': linux-2.6.24-mm1/drivers/net/ne.c:797: undefined reference to `NS8390_init' drivers/built-in.o: In function `ne_drv_resume': linux-2.6.24-mm1/drivers/net/ne.c:858: undefined reference to `NS8390_init' drivers/built-in.o: In function `ne_probe1': linux-2.6.24-mm1/drivers/net/ne.c:539: undefined reference to `NS8390_init' make[1]: *** [.tmp_vmlinux1] Error 1 make: *** [sub-make] Error 2
Thanks for reporting this.
As I saw that the file 8390p.c is compiled for this driver, but not the file 8390.c which contains this function NS8390_init(), I fixed this error with the following patch.
Alan's 8390-split-8390-support-into-a-pausing-and-a-non-pausing-driver-core.patch would be a prime suspect. I assume this bug isn't present ing mainline or in 2.6.24?
quoted hunk ↗ jump to hunk
As NS8390p_init() does the same thing than NS8390_init(), I suppose that this is the right fix ? Signed-off-by: Pierre Peiffer <redacted> --- drivers/net/ne.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) Index: b/drivers/net/ne.c ===================================================================--- a/drivers/net/ne.c +++ b/drivers/net/ne.c@@ -536,7 +536,7 @@ static int __init ne_probe1(struct net_d #ifdef CONFIG_NET_POLL_CONTROLLER dev->poll_controller = eip_poll; #endif - NS8390_init(dev, 0); + NS8390p_init(dev, 0); ret = register_netdev(dev); if (ret)@@ -794,7 +794,7 @@ retry: if (time_after(jiffies, dma_start + 2*HZ/100)) { /* 20ms */ printk(KERN_WARNING "%s: timeout waiting for Tx RDC.\n", dev->name); ne_reset_8390(dev); - NS8390_init(dev,1); + NS8390p_init(dev,1); break; }@@ -855,7 +855,7 @@ static int ne_drv_resume(struct platform if (netif_running(dev)) { ne_reset_8390(dev); - NS8390_init(dev, 1); + NS8390p_init(dev, 1); netif_device_attach(dev); } return 0;