diff options
-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 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, | |||
1454 | static int cnic_get_v4_route(struct sockaddr_in *dst_addr, | 1456 | static 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 | ||
1470 | static int cnic_get_v6_route(struct sockaddr_in6 *dst_addr, | 1476 | static 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) |