--- /dev/null
+--- a/drivers/net/phy/swconfig.c
++++ b/drivers/net/phy/swconfig.c
+@@ -335,7 +335,7 @@ swconfig_send_multipart(struct swconfig_
+ if (cb->close(cb, arg) < 0)
+ goto error;
+ }
+- err = genlmsg_unicast(cb->msg, info->snd_pid);
++ err = genlmsg_reply(cb->msg, info);
+ cb->msg = NULL;
+ if (err < 0)
+ goto error;
+@@ -419,7 +419,7 @@ swconfig_list_attrs(struct sk_buff *skb,
+ if (!cb.msg)
+ return 0;
+
+- return genlmsg_unicast(cb.msg, info->snd_pid);
++ return genlmsg_reply(cb.msg, info);
+
+ error:
+ if (cb.msg)
+@@ -728,7 +728,7 @@ swconfig_get_attr(struct sk_buff *skb, s
+ goto nla_put_failure;
+
+ swconfig_put_dev(dev);
+- return genlmsg_unicast(msg, info->snd_pid);
++ return genlmsg_reply(msg, info);
+
+ nla_put_failure:
+ if (msg)