aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/cnic.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-06-13 16:22:00 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-06-13 16:22:00 -0400
commit44b7532b8b464f606053562400719c9c21276037 (patch)
treeba2fa4b21e471d3d85a1b36d8992bd458cec4d4d /drivers/net/cnic.c
parent84c48e6f43ae1771fc67fd8fcd777ff4b3b4465b (diff)
parentbc3bf8fd330ce981ce632a1a4a283eee46838f32 (diff)
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'
Diffstat (limited to 'drivers/net/cnic.c')
-rw-r--r--drivers/net/cnic.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/cnic.c b/drivers/net/cnic.c
index 8d740376bbd2..44f77eb1180f 100644
--- a/drivers/net/cnic.c
+++ b/drivers/net/cnic.c
@@ -25,6 +25,8 @@
25#include <linux/delay.h> 25#include <linux/delay.h>
26#include <linux/ethtool.h> 26#include <linux/ethtool.h>
27#include <linux/if_vlan.h> 27#include <linux/if_vlan.h>
28#include <linux/module.h>
29
28#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE) 30#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE)
29#define BCM_VLAN 1 31#define BCM_VLAN 1
30#endif 32#endif
@@ -1454,6 +1456,7 @@ static inline u16 cnic_get_vlan(struct net_device *dev,
1454static int cnic_get_v4_route(struct sockaddr_in *dst_addr, 1456static int cnic_get_v4_route(struct sockaddr_in *dst_addr,
1455 struct dst_entry **dst) 1457 struct dst_entry **dst)
1456{ 1458{
1459#if defined(CONFIG_INET)
1457 struct flowi fl; 1460 struct flowi fl;
1458 int err; 1461 int err;
1459 struct rtable *rt; 1462 struct rtable *rt;
@@ -1465,12 +1468,15 @@ static int cnic_get_v4_route(struct sockaddr_in *dst_addr,
1465 if (!err) 1468 if (!err)
1466 *dst = &rt->u.dst; 1469 *dst = &rt->u.dst;
1467 return err; 1470 return err;
1471#else
1472 return -ENETUNREACH;
1473#endif
1468} 1474}
1469 1475
1470static int cnic_get_v6_route(struct sockaddr_in6 *dst_addr, 1476static int cnic_get_v6_route(struct sockaddr_in6 *dst_addr,
1471 struct dst_entry **dst) 1477 struct dst_entry **dst)
1472{ 1478{
1473#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) 1479#if defined(CONFIG_IPV6) || (defined(CONFIG_IPV6_MODULE) && defined(MODULE))
1474 struct flowi fl; 1480 struct flowi fl;
1475 1481
1476 memset(&fl, 0, sizeof(fl)); 1482 memset(&fl, 0, sizeof(fl));
@@ -1550,7 +1556,7 @@ static int cnic_get_route(struct cnic_sock *csk, struct cnic_sockaddr *saddr)
1550 clear_bit(SK_F_IPV6, &csk->flags); 1556 clear_bit(SK_F_IPV6, &csk->flags);
1551 1557
1552 if (is_v6) { 1558 if (is_v6) {
1553#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) 1559#if defined(CONFIG_IPV6) || (defined(CONFIG_IPV6_MODULE) && defined(MODULE))
1554 set_bit(SK_F_IPV6, &csk->flags); 1560 set_bit(SK_F_IPV6, &csk->flags);
1555 err = cnic_get_v6_route(&saddr->remote.v6, &dst); 1561 err = cnic_get_v6_route(&saddr->remote.v6, &dst);
1556 if (err) 1562 if (err)