diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-13 13:22:00 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-13 13:22:00 -0700 |
commit | 44b7532b8b464f606053562400719c9c21276037 (patch) | |
tree | ba2fa4b21e471d3d85a1b36d8992bd458cec4d4d | |
parent | 84c48e6f43ae1771fc67fd8fcd777ff4b3b4465b (diff) | |
parent | bc3bf8fd330ce981ce632a1a4a283eee46838f32 (diff) | |
download | op-kernel-dev-44b7532b8b464f606053562400719c9c21276037.zip op-kernel-dev-44b7532b8b464f606053562400719c9c21276037.tar.gz |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
[SCSI] cnic: fix error: implicit declaration of function ‘__symbol_get’
[SCSI] cnic: fix undefined reference to `ip6_route_output'
-rw-r--r-- | drivers/net/cnic.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/cnic.c b/drivers/net/cnic.c index 8d74037..44f77eb 100644 --- a/drivers/net/cnic.c +++ b/drivers/net/cnic.c @@ -25,6 +25,8 @@ #include <linux/delay.h> #include <linux/ethtool.h> #include <linux/if_vlan.h> +#include <linux/module.h> + #if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE) #define BCM_VLAN 1 #endif @@ -1454,6 +1456,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 +1468,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 +1556,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) |