On Mon, Jan 30, 2017 at 05:37:10PM +0100, Andreas Schultz wrote:
This unifies duplicate code into a helper. It also
prepares the
groundwork to add a lookup version that uses the socket to find
attache pdp contexts.
Signed-off-by: Andreas Schultz <aschultz(a)tpip.net>
---
drivers/net/gtp.c | 120 +++++++++++++++++++++++-------------------------------
1 file changed, 51 insertions(+), 69 deletions(-)
diff --git a/drivers/net/gtp.c b/drivers/net/gtp.c
index c96c71f..6b7a3c2 100644
--- a/drivers/net/gtp.c
+++ b/drivers/net/gtp.c
[...]
+static struct pdp_ctx *gtp_genl_find_pdp(struct
sk_buff *skb,
+ struct genl_info *info)
+{
+ struct pdp_ctx *pctx;
+
+ if (info->attrs[GTPA_LINK])
+ pctx = gtp_genl_find_pdp_by_link(skb, info);
+ else
+ pctx = ERR_PTR(-EINVAL);
+ if (!pctx)
+ pctx = ERR_PTR(-ENOENT);
+
+ return pctx;
+}
For gtp_genl_find_pdp(), I think this is easier to read:
if (!info->attrs[GTPA_LINK])
return ERR_PTR(-EINVAL);
pctx = gtp_genl_find_pdp_by_link(skb, info);
if (!pctx)
return ERR_PTR(-ENOENT);
return pctx;