diff options
| -rw-r--r-- | net/atm/clip.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/net/atm/clip.c b/net/atm/clip.c index c12c2582457c..127fe70a1baa 100644 --- a/net/atm/clip.c +++ b/net/atm/clip.c | |||
| @@ -46,8 +46,8 @@ | |||
| 46 | 46 | ||
| 47 | static struct net_device *clip_devs; | 47 | static struct net_device *clip_devs; |
| 48 | static struct atm_vcc *atmarpd; | 48 | static struct atm_vcc *atmarpd; |
| 49 | static struct neigh_table clip_tbl; | ||
| 50 | static struct timer_list idle_timer; | 49 | static struct timer_list idle_timer; |
| 50 | static const struct neigh_ops clip_neigh_ops; | ||
| 51 | 51 | ||
| 52 | static int to_atmarpd(enum atmarp_ctrl_type type, int itf, __be32 ip) | 52 | static int to_atmarpd(enum atmarp_ctrl_type type, int itf, __be32 ip) |
| 53 | { | 53 | { |
| @@ -123,6 +123,8 @@ static int neigh_check_cb(struct neighbour *n) | |||
| 123 | struct atmarp_entry *entry = neighbour_priv(n); | 123 | struct atmarp_entry *entry = neighbour_priv(n); |
| 124 | struct clip_vcc *cv; | 124 | struct clip_vcc *cv; |
| 125 | 125 | ||
| 126 | if (n->ops != &clip_neigh_ops) | ||
| 127 | return 0; | ||
| 126 | for (cv = entry->vccs; cv; cv = cv->next) { | 128 | for (cv = entry->vccs; cv; cv = cv->next) { |
| 127 | unsigned long exp = cv->last_use + cv->idle_timeout; | 129 | unsigned long exp = cv->last_use + cv->idle_timeout; |
| 128 | 130 | ||
| @@ -154,10 +156,10 @@ static int neigh_check_cb(struct neighbour *n) | |||
| 154 | 156 | ||
| 155 | static void idle_timer_check(unsigned long dummy) | 157 | static void idle_timer_check(unsigned long dummy) |
| 156 | { | 158 | { |
| 157 | write_lock(&clip_tbl.lock); | 159 | write_lock(&arp_tbl.lock); |
| 158 | __neigh_for_each_release(&clip_tbl, neigh_check_cb); | 160 | __neigh_for_each_release(&arp_tbl, neigh_check_cb); |
| 159 | mod_timer(&idle_timer, jiffies + CLIP_CHECK_INTERVAL * HZ); | 161 | mod_timer(&idle_timer, jiffies + CLIP_CHECK_INTERVAL * HZ); |
| 160 | write_unlock(&clip_tbl.lock); | 162 | write_unlock(&arp_tbl.lock); |
| 161 | } | 163 | } |
| 162 | 164 | ||
| 163 | static int clip_arp_rcv(struct sk_buff *skb) | 165 | static int clip_arp_rcv(struct sk_buff *skb) |
