[PATCH] missing dependency for drivers/net/tun.c

From: Steve French
Date: Tue Jan 11 2005 - 16:12:30 EST


drivers/net/tun.c has a missing dependency on enabling the crc32
libraries in kernel config. With tun enabled and crc32 disabled "make
bzImage" (the linking step) fails. For example:

drivers/built-in.o(.text+0x656f1): In function `add_multi':
linux-2.5cifs/drivers/net/tun.c:112: undefined reference to `crc32_le'
drivers/built-in.o(.text+0x656f9):linux-2.5cifs/drivers/net/tun.c:112:
undefined reference to `bitreverse'

Line 112:

int bit_nr = ether_crc(ETH_ALEN, addr) >> 26;

is a call to the ether_crc macro which maps to the bitreverse function
which is only exported if you enable:
library functions -> CRC32 functions
in kernel config. The following would fix it.



--- drivers/net/Kconfig.old 2005-01-11 14:59:51.540023800 -0600
+++ drivers/net/Kconfig 2005-01-11 15:00:48.126421360 -0600
@@ -84,6 +84,7 @@
config TUN
tristate "Universal TUN/TAP device driver support"
depends on NETDEVICES
+ select CRC32
---help---
TUN/TAP provides packet reception and transmission for user space
programs. It can be viewed as a simple Point-to-Point or Ethernet