From 10d30f2d2dda1298e07ad0fe04f214ed2ad0a4ee Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Wed, 21 Nov 2012 17:38:11 +0000 Subject: [PATCH] swconfig: make it compatible with 3.7 swconfig does not compile with 3.7 because struct netlink_notify->pid has been renamed to struct netlink_notify->portid and struct genl_info->snd_pid has been renamed to struct genl_info->snd_portid Use the new names and add compatibility patches to 3.3 and 3.6. Signed-off-by: Gabor Juhos SVN-Revision: 34288 --- .../generic/files/drivers/net/phy/swconfig.c | 6 ++-- ...onfig-revert-portid-snd_portid-usage.patch | 30 +++++++++++++++++++ ...onfig-revert-portid-snd_portid-usage.patch | 30 +++++++++++++++++++ 3 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 target/linux/generic/patches-3.3/a02-swconfig-revert-portid-snd_portid-usage.patch create mode 100644 target/linux/generic/patches-3.6/a02-swconfig-revert-portid-snd_portid-usage.patch diff --git a/target/linux/generic/files/drivers/net/phy/swconfig.c b/target/linux/generic/files/drivers/net/phy/swconfig.c index a87e25366b..34f43bfd9b 100644 --- a/target/linux/generic/files/drivers/net/phy/swconfig.c +++ b/target/linux/generic/files/drivers/net/phy/swconfig.c @@ -376,7 +376,7 @@ swconfig_dump_attr(struct swconfig_callback *cb, void *arg) int id = cb->args[0]; void *hdr; - hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq, &switch_fam, + hdr = genlmsg_put(msg, info->snd_portid, info->snd_seq, &switch_fam, NLM_F_MULTI, SWITCH_CMD_NEW_ATTR); if (IS_ERR(hdr)) return -1; @@ -798,7 +798,7 @@ swconfig_get_attr(struct sk_buff *skb, struct genl_info *info) if (!msg) goto error; - hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq, &switch_fam, + hdr = genlmsg_put(msg, info->snd_portid, info->snd_seq, &switch_fam, 0, cmd); if (IS_ERR(hdr)) goto nla_put_failure; @@ -883,7 +883,7 @@ static int swconfig_dump_switches(struct sk_buff *skb, list_for_each_entry(dev, &swdevs, dev_list) { if (++idx <= start) continue; - if (swconfig_send_switch(skb, NETLINK_CB(cb->skb).pid, + if (swconfig_send_switch(skb, NETLINK_CB(cb->skb).portid, cb->nlh->nlmsg_seq, NLM_F_MULTI, dev) < 0) break; diff --git a/target/linux/generic/patches-3.3/a02-swconfig-revert-portid-snd_portid-usage.patch b/target/linux/generic/patches-3.3/a02-swconfig-revert-portid-snd_portid-usage.patch new file mode 100644 index 0000000000..e465f90e7e --- /dev/null +++ b/target/linux/generic/patches-3.3/a02-swconfig-revert-portid-snd_portid-usage.patch @@ -0,0 +1,30 @@ +reverted: +--- a/drivers/net/phy/swconfig.c ++++ b/drivers/net/phy/swconfig.c +@@ -376,7 +376,7 @@ swconfig_dump_attr(struct swconfig_callb + int id = cb->args[0]; + void *hdr; + +- hdr = genlmsg_put(msg, info->snd_portid, info->snd_seq, &switch_fam, ++ hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq, &switch_fam, + NLM_F_MULTI, SWITCH_CMD_NEW_ATTR); + if (IS_ERR(hdr)) + return -1; +@@ -798,7 +798,7 @@ swconfig_get_attr(struct sk_buff *skb, s + if (!msg) + goto error; + +- hdr = genlmsg_put(msg, info->snd_portid, info->snd_seq, &switch_fam, ++ hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq, &switch_fam, + 0, cmd); + if (IS_ERR(hdr)) + goto nla_put_failure; +@@ -883,7 +883,7 @@ static int swconfig_dump_switches(struct + list_for_each_entry(dev, &swdevs, dev_list) { + if (++idx <= start) + continue; +- if (swconfig_send_switch(skb, NETLINK_CB(cb->skb).portid, ++ if (swconfig_send_switch(skb, NETLINK_CB(cb->skb).pid, + cb->nlh->nlmsg_seq, NLM_F_MULTI, + dev) < 0) + break; diff --git a/target/linux/generic/patches-3.6/a02-swconfig-revert-portid-snd_portid-usage.patch b/target/linux/generic/patches-3.6/a02-swconfig-revert-portid-snd_portid-usage.patch new file mode 100644 index 0000000000..e465f90e7e --- /dev/null +++ b/target/linux/generic/patches-3.6/a02-swconfig-revert-portid-snd_portid-usage.patch @@ -0,0 +1,30 @@ +reverted: +--- a/drivers/net/phy/swconfig.c ++++ b/drivers/net/phy/swconfig.c +@@ -376,7 +376,7 @@ swconfig_dump_attr(struct swconfig_callb + int id = cb->args[0]; + void *hdr; + +- hdr = genlmsg_put(msg, info->snd_portid, info->snd_seq, &switch_fam, ++ hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq, &switch_fam, + NLM_F_MULTI, SWITCH_CMD_NEW_ATTR); + if (IS_ERR(hdr)) + return -1; +@@ -798,7 +798,7 @@ swconfig_get_attr(struct sk_buff *skb, s + if (!msg) + goto error; + +- hdr = genlmsg_put(msg, info->snd_portid, info->snd_seq, &switch_fam, ++ hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq, &switch_fam, + 0, cmd); + if (IS_ERR(hdr)) + goto nla_put_failure; +@@ -883,7 +883,7 @@ static int swconfig_dump_switches(struct + list_for_each_entry(dev, &swdevs, dev_list) { + if (++idx <= start) + continue; +- if (swconfig_send_switch(skb, NETLINK_CB(cb->skb).portid, ++ if (swconfig_send_switch(skb, NETLINK_CB(cb->skb).pid, + cb->nlh->nlmsg_seq, NLM_F_MULTI, + dev) < 0) + break; -- 2.25.1