summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2010-06-10 16:12:48 +0000
committerDavid S. Miller <davem@davemloft.net>2010-06-15 10:58:40 -0700
commit8fdd95ec162a8fbac7f41d6f54f90402fe3e8cb1 (patch)
treee326d2640054c986fd5458719a45c4ef630953a8 /include/linux
parent4247e161b12f8dffb7ee3ee07bc5e61f714ebe2d (diff)
downloadlinux-8fdd95ec162a8fbac7f41d6f54f90402fe3e8cb1.tar.gz
linux-8fdd95ec162a8fbac7f41d6f54f90402fe3e8cb1.tar.bz2
linux-8fdd95ec162a8fbac7f41d6f54f90402fe3e8cb1.zip
netpoll: Allow netpoll_setup/cleanup recursion
This patch adds the functions __netpoll_setup/__netpoll_cleanup which is designed to be called recursively through ndo_netpoll_seutp. They must be called with RTNL held, and the caller must initialise np->dev and ensure that it has a valid reference count. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/netpoll.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/netpoll.h b/include/linux/netpoll.h
index 95c9f7e16776..f3ad74af7e1f 100644
--- a/include/linux/netpoll.h
+++ b/include/linux/netpoll.h
@@ -46,9 +46,11 @@ void netpoll_poll(struct netpoll *np);
void netpoll_send_udp(struct netpoll *np, const char *msg, int len);
void netpoll_print_options(struct netpoll *np);
int netpoll_parse_options(struct netpoll *np, char *opt);
+int __netpoll_setup(struct netpoll *np);
int netpoll_setup(struct netpoll *np);
int netpoll_trap(void);
void netpoll_set_trap(int trap);
+void __netpoll_cleanup(struct netpoll *np);
void netpoll_cleanup(struct netpoll *np);
int __netpoll_rx(struct sk_buff *skb);
void netpoll_send_skb(struct netpoll *np, struct sk_buff *skb);