summaryrefslogtreecommitdiff
path: root/net/atm/clip.c
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2012-03-08 21:33:44 +0400
committerOlof Johansson <olof@lixom.net>2012-03-08 21:33:44 +0400
commit990b07d952bff7116ba79e3c4ceeae5dd8d5ec3d (patch)
treeb0f6c896749f5beca20d74e72e4761aaa9e8ad2b /net/atm/clip.c
parent3a70b7e05f62d4e1bfd5744368ea1fd855b6e03c (diff)
parent8a16a701ad787b6db2949766341c5ad1b551de9f (diff)
downloadlinux-990b07d952bff7116ba79e3c4ceeae5dd8d5ec3d.tar.xz
Merge branch 'regulator' of git://github.com/hzhuang1/linux into next/drivers
* 'regulator' of git://github.com/hzhuang1/linux: (2 commits) regulator: Remove bq24022 regulator driver pxa: magician/hx4700: Convert to gpio-regulator from bq24022 (plus update to v3.3-rc6)
Diffstat (limited to 'net/atm/clip.c')
-rw-r--r--net/atm/clip.c10
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 @@
static struct net_device *clip_devs;
static struct atm_vcc *atmarpd;
-static struct neigh_table clip_tbl;
static struct timer_list idle_timer;
+static const struct neigh_ops clip_neigh_ops;
static int to_atmarpd(enum atmarp_ctrl_type type, int itf, __be32 ip)
{
@@ -123,6 +123,8 @@ static int neigh_check_cb(struct neighbour *n)
struct atmarp_entry *entry = neighbour_priv(n);
struct clip_vcc *cv;
+ if (n->ops != &clip_neigh_ops)
+ return 0;
for (cv = entry->vccs; cv; cv = cv->next) {
unsigned long exp = cv->last_use + cv->idle_timeout;
@@ -154,10 +156,10 @@ static int neigh_check_cb(struct neighbour *n)
static void idle_timer_check(unsigned long dummy)
{
- write_lock(&clip_tbl.lock);
- __neigh_for_each_release(&clip_tbl, neigh_check_cb);
+ write_lock(&arp_tbl.lock);
+ __neigh_for_each_release(&arp_tbl, neigh_check_cb);
mod_timer(&idle_timer, jiffies + CLIP_CHECK_INTERVAL * HZ);
- write_unlock(&clip_tbl.lock);
+ write_unlock(&arp_tbl.lock);
}
static int clip_arp_rcv(struct sk_buff *skb)