From faea56c9bb44f539da1ae0194184873fc2720b20 Mon Sep 17 00:00:00 2001 From: Randy Dunlap Date: Fri, 12 Jun 2009 11:43:48 -0700 Subject: [PATCH 1/2] [SCSI] cnic: fix undefined reference to `ip6_route_output' Fix cnic build for case of CONFIG_INET=n. Fix cnic build for case of CONFIG_IPV6=m and CONFIG_CNIC=y. Fixes these build errors: cnic.c:(.text+0x236a1d): undefined reference to `ip_route_output_key' cnic.c:(.text+0x15a8e8): undefined reference to `ip6_route_output' Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley --- drivers/net/cnic.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/cnic.c b/drivers/net/cnic.c index 8d740376bbd..a9e2fd35bb4 100644 --- a/drivers/net/cnic.c +++ b/drivers/net/cnic.c @@ -1454,6 +1454,7 @@ static inline u16 cnic_get_vlan(struct net_device *dev, static int cnic_get_v4_route(struct sockaddr_in *dst_addr, struct dst_entry **dst) { +#if defined(CONFIG_INET) struct flowi fl; int err; struct rtable *rt; @@ -1465,12 +1466,15 @@ static int cnic_get_v4_route(struct sockaddr_in *dst_addr, if (!err) *dst = &rt->u.dst; return err; +#else + return -ENETUNREACH; +#endif } static int cnic_get_v6_route(struct sockaddr_in6 *dst_addr, struct dst_entry **dst) { -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) +#if defined(CONFIG_IPV6) || (defined(CONFIG_IPV6_MODULE) && defined(MODULE)) struct flowi fl; memset(&fl, 0, sizeof(fl)); @@ -1550,7 +1554,7 @@ static int cnic_get_route(struct cnic_sock *csk, struct cnic_sockaddr *saddr) clear_bit(SK_F_IPV6, &csk->flags); if (is_v6) { -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) +#if defined(CONFIG_IPV6) || (defined(CONFIG_IPV6_MODULE) && defined(MODULE)) set_bit(SK_F_IPV6, &csk->flags); err = cnic_get_v6_route(&saddr->remote.v6, &dst); if (err) From bc3bf8fd330ce981ce632a1a4a283eee46838f32 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Sat, 13 Jun 2009 08:29:33 +0200 Subject: [PATCH 2/2] =?UTF-8?q?[SCSI]=20cnic:=20fix=20error:=20implicit=20?= =?UTF-8?q?declaration=20of=20function=20=E2=80=98=5F=5Fsymbol=5Fget?= =?UTF-8?q?=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit drivers/net/cnic.c: In function ‘init_bnx2_cnic’: drivers/net/cnic.c:2520: error: implicit declaration of function ‘__symbol_get’ drivers/net/cnic.c:2520: warning: assignment makes pointer from integer without a cast make[1]: *** [drivers/net/cnic.o] Error 1 make: *** [drivers/net/cnic.o] Error 2 Caused by not including linux/module.h Signed-off-by: Ingo Molnar Signed-off-by: James Bottomley --- drivers/net/cnic.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/cnic.c b/drivers/net/cnic.c index a9e2fd35bb4..44f77eb1180 100644 --- a/drivers/net/cnic.c +++ b/drivers/net/cnic.c @@ -25,6 +25,8 @@ #include #include #include +#include + #if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE) #define BCM_VLAN 1 #endif