From 71f22cee39ff179ad126f6ec17ea5df9a63abc07 Mon Sep 17 00:00:00 2001 From: James Chapman Date: Fri, 2 Apr 2010 06:18:39 +0000 Subject: [PATCH] --- yaml --- r: 193938 b: refs/heads/master c: 63f96072f9ba430aa348bc987c3d5a4f48bae301 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/ppp_generic.c | 19 +++++++++++++++++++ trunk/include/linux/ppp_channel.h | 3 +++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index d03169d45c0b..a8d05c97acec 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fd558d186df2c13a22455373858bae634a4795af +refs/heads/master: 63f96072f9ba430aa348bc987c3d5a4f48bae301 diff --git a/trunk/drivers/net/ppp_generic.c b/trunk/drivers/net/ppp_generic.c index 6d61602208c1..8a0dd8a843a9 100644 --- a/trunk/drivers/net/ppp_generic.c +++ b/trunk/drivers/net/ppp_generic.c @@ -2162,6 +2162,24 @@ int ppp_unit_number(struct ppp_channel *chan) return unit; } +/* + * Return the PPP device interface name of a channel. + */ +char *ppp_dev_name(struct ppp_channel *chan) +{ + struct channel *pch = chan->ppp; + char *name = NULL; + + if (pch) { + read_lock_bh(&pch->upl); + if (pch->ppp && pch->ppp->dev) + name = pch->ppp->dev->name; + read_unlock_bh(&pch->upl); + } + return name; +} + + /* * Disconnect a channel from the generic layer. * This must be called in process context. @@ -2890,6 +2908,7 @@ EXPORT_SYMBOL(ppp_register_channel); EXPORT_SYMBOL(ppp_unregister_channel); EXPORT_SYMBOL(ppp_channel_index); EXPORT_SYMBOL(ppp_unit_number); +EXPORT_SYMBOL(ppp_dev_name); EXPORT_SYMBOL(ppp_input); EXPORT_SYMBOL(ppp_input_error); EXPORT_SYMBOL(ppp_output_wakeup); diff --git a/trunk/include/linux/ppp_channel.h b/trunk/include/linux/ppp_channel.h index 0d3fa63e90ea..bff98ec1bfed 100644 --- a/trunk/include/linux/ppp_channel.h +++ b/trunk/include/linux/ppp_channel.h @@ -72,6 +72,9 @@ extern int ppp_channel_index(struct ppp_channel *); /* Get the unit number associated with a channel, or -1 if none */ extern int ppp_unit_number(struct ppp_channel *); +/* Get the device name associated with a channel, or NULL if none */ +extern char *ppp_dev_name(struct ppp_channel *); + /* * SMP locking notes: * The channel code must ensure that when it calls ppp_unregister_channel,