From 3d5c6fe568563c1a35f3bfce798bcfa41731d350 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= Date: Thu, 27 Mar 2008 17:53:31 -0700 Subject: [PATCH] --- yaml --- r: 90420 b: refs/heads/master c: 8d3308687f7f1eaa1bb5d202d14752d5f90068eb h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/include/net/dst.h | 10 +--------- trunk/net/core/dst.c | 10 ++++++++++ 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index d665e8c5ce80..dc0eca9d23ce 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c2aa270ad73d385bd6cdebf5d741bdf18a3e17ad +refs/heads/master: 8d3308687f7f1eaa1bb5d202d14752d5f90068eb diff --git a/trunk/include/net/dst.h b/trunk/include/net/dst.h index ae13370e8484..002500e631f5 100644 --- a/trunk/include/net/dst.h +++ b/trunk/include/net/dst.h @@ -163,15 +163,7 @@ struct dst_entry * dst_clone(struct dst_entry * dst) return dst; } -static inline -void dst_release(struct dst_entry * dst) -{ - if (dst) { - WARN_ON(atomic_read(&dst->__refcnt) < 1); - smp_mb__before_atomic_dec(); - atomic_dec(&dst->__refcnt); - } -} +extern void dst_release(struct dst_entry *dst); /* Children define the path of the packet through the * Linux networking. Thus, destinations are stackable. diff --git a/trunk/net/core/dst.c b/trunk/net/core/dst.c index 694cd2a3f6d2..fe03266130b6 100644 --- a/trunk/net/core/dst.c +++ b/trunk/net/core/dst.c @@ -259,6 +259,16 @@ struct dst_entry *dst_destroy(struct dst_entry * dst) return NULL; } +void dst_release(struct dst_entry *dst) +{ + if (dst) { + WARN_ON(atomic_read(&dst->__refcnt) < 1); + smp_mb__before_atomic_dec(); + atomic_dec(&dst->__refcnt); + } +} +EXPORT_SYMBOL(dst_release); + /* Dirty hack. We did it in 2.2 (in __dst_free), * we have _very_ good reasons not to repeat * this mistake in 2.3, but we have no choice