summaryrefslogtreecommitdiff
path: root/net/ipv4/multipath.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-03-25 22:39:45 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-03-25 22:39:45 -0800
commitc01debcd72ff37dbd87de54d5f0a1d753092775f (patch)
treea14e17c2e368eaae70ce21d0d3c88d419b1183d4 /net/ipv4/multipath.c
parentd506d2b66af72403912db434453c5e5a31c0b2d3 (diff)
parent651b6a34392167cd0310869cbc0341f91ba4d956 (diff)
Merge bk://kernel.bkbits.net/davem/net-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux
Diffstat (limited to 'net/ipv4/multipath.c')
-rw-r--r--net/ipv4/multipath.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ipv4/multipath.c b/net/ipv4/multipath.c
index 4e0bf77f426f..4e9ca7c76407 100644
--- a/net/ipv4/multipath.c
+++ b/net/ipv4/multipath.c
@@ -12,14 +12,15 @@
#include <net/ip_mp_alg.h>
static DEFINE_SPINLOCK(alg_table_lock);
-struct ip_mp_alg_ops *ip_mp_alg_table[IP_MP_ALG_MAX];
+struct ip_mp_alg_ops *ip_mp_alg_table[IP_MP_ALG_MAX + 1];
int multipath_alg_register(struct ip_mp_alg_ops *ops, enum ip_mp_alg n)
{
struct ip_mp_alg_ops **slot;
int err;
- if (n < IP_MP_ALG_NONE || n > IP_MP_ALG_MAX)
+ if (n < IP_MP_ALG_NONE || n > IP_MP_ALG_MAX ||
+ !ops->mp_alg_select_route)
return -EINVAL;
spin_lock(&alg_table_lock);