wmediumd_portid = 0;
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -1317,7 +1317,7 @@ static int nl80211_dump_wiphy(struct sk_
- continue;
- if (++idx <= start)
- continue;
-- ret = nl80211_send_wiphy(skb, NETLINK_CB(cb->skb).portid,
-+ ret = nl80211_send_wiphy(skb, NETLINK_CB_PORTID(skb),
- cb->nlh->nlmsg_seq, NLM_F_MULTI,
- dev);
- if (ret < 0) {
-@@ -1360,7 +1360,7 @@ static int nl80211_get_wiphy(struct sk_b
+@@ -1593,7 +1593,7 @@ static int nl80211_dump_wiphy(struct sk_
+ /* attempt to fit multiple wiphy data chunks into the skb */
+ do {
+ ret = nl80211_send_wiphy(dev, skb,
+- NETLINK_CB(cb->skb).portid,
++ NETLINK_CB_PORTID(cb->skb),
+ cb->nlh->nlmsg_seq,
+ NLM_F_MULTI,
+ split, &cb->args[1],
+@@ -1642,7 +1642,7 @@ static int nl80211_get_wiphy(struct sk_b
if (!msg)
return -ENOMEM;
-- if (nl80211_send_wiphy(msg, info->snd_portid, info->snd_seq, 0, dev) < 0) {
-+ if (nl80211_send_wiphy(msg, genl_info_snd_portid(info), info->snd_seq, 0, dev) < 0) {
+- if (nl80211_send_wiphy(dev, msg, info->snd_portid, info->snd_seq, 0,
++ if (nl80211_send_wiphy(dev, msg, genl_info_snd_portid(info), info->snd_seq, 0,
+ false, NULL, NULL, NULL) < 0) {
nlmsg_free(msg);
return -ENOBUFS;
- }
-@@ -1939,7 +1939,7 @@ static int nl80211_dump_interface(struct
+@@ -2222,7 +2222,7 @@ static int nl80211_dump_interface(struct
if_idx++;
continue;
}
cb->nlh->nlmsg_seq, NLM_F_MULTI,
rdev, wdev) < 0) {
mutex_unlock(&rdev->devlist_mtx);
-@@ -1970,7 +1970,7 @@ static int nl80211_get_interface(struct
+@@ -2253,7 +2253,7 @@ static int nl80211_get_interface(struct
if (!msg)
return -ENOMEM;
dev, wdev) < 0) {
nlmsg_free(msg);
return -ENOBUFS;
-@@ -2195,7 +2195,7 @@ static int nl80211_new_interface(struct
+@@ -2478,7 +2478,7 @@ static int nl80211_new_interface(struct
break;
}
rdev, wdev) < 0) {
nlmsg_free(msg);
return -ENOBUFS;
-@@ -2330,7 +2330,7 @@ static int nl80211_get_key(struct sk_buf
+@@ -2613,7 +2613,7 @@ static int nl80211_get_key(struct sk_buf
if (!msg)
return -ENOMEM;
NL80211_CMD_NEW_KEY);
if (IS_ERR(hdr))
return PTR_ERR(hdr);
-@@ -3265,7 +3265,7 @@ static int nl80211_dump_station(struct s
+@@ -3549,7 +3549,7 @@ static int nl80211_dump_station(struct s
goto out_err;
if (nl80211_send_station(skb,
cb->nlh->nlmsg_seq, NLM_F_MULTI,
dev, netdev, mac_addr,
&sinfo) < 0)
-@@ -3311,7 +3311,7 @@ static int nl80211_get_station(struct sk
+@@ -3595,7 +3595,7 @@ static int nl80211_get_station(struct sk
if (!msg)
return -ENOMEM;
rdev, dev, mac_addr, &sinfo) < 0) {
nlmsg_free(msg);
return -ENOBUFS;
-@@ -3857,7 +3857,7 @@ static int nl80211_dump_mpath(struct sk_
+@@ -4195,7 +4195,7 @@ static int nl80211_dump_mpath(struct sk_
if (err)
goto out_err;
cb->nlh->nlmsg_seq, NLM_F_MULTI,
netdev, dst, next_hop,
&pinfo) < 0)
-@@ -3906,7 +3906,7 @@ static int nl80211_get_mpath(struct sk_b
+@@ -4244,7 +4244,7 @@ static int nl80211_get_mpath(struct sk_b
if (!msg)
return -ENOMEM;
dev, dst, next_hop, &pinfo) < 0) {
nlmsg_free(msg);
return -ENOBUFS;
-@@ -4170,7 +4170,7 @@ static int nl80211_get_mesh_config(struc
+@@ -4508,7 +4508,7 @@ static int nl80211_get_mesh_config(struc
msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_KERNEL);
if (!msg)
return -ENOMEM;
NL80211_CMD_GET_MESH_CONFIG);
if (!hdr)
goto out;
-@@ -4512,7 +4512,7 @@ static int nl80211_get_reg(struct sk_buf
+@@ -4858,7 +4858,7 @@ static int nl80211_get_reg(struct sk_buf
goto out;
}
NL80211_CMD_GET_REG);
if (!hdr)
goto put_failure;
-@@ -5199,7 +5199,7 @@ static int nl80211_send_bss(struct sk_bu
+@@ -5545,7 +5545,7 @@ static int nl80211_send_bss(struct sk_bu
ASSERT_WDEV_LOCK(wdev);
NL80211_CMD_NEW_SCAN_RESULTS);
if (!hdr)
return -1;
-@@ -5430,7 +5430,7 @@ static int nl80211_dump_survey(struct sk
+@@ -5776,7 +5776,7 @@ static int nl80211_dump_survey(struct sk
}
if (nl80211_send_survey(skb,
cb->nlh->nlmsg_seq, NLM_F_MULTI,
netdev,
&survey) < 0)
-@@ -6076,7 +6076,7 @@ static int nl80211_testmode_dump(struct
+@@ -6435,7 +6435,7 @@ static int nl80211_testmode_dump(struct
}
while (1) {
cb->nlh->nlmsg_seq, NLM_F_MULTI,
NL80211_CMD_TESTMODE);
struct nlattr *tmdata;
-@@ -6155,7 +6155,7 @@ struct sk_buff *cfg80211_testmode_alloc_
+@@ -6514,7 +6514,7 @@ struct sk_buff *cfg80211_testmode_alloc_
return NULL;
return __cfg80211_testmode_alloc_skb(rdev, approxlen,
rdev->testmode_info->snd_seq,
GFP_KERNEL);
}
-@@ -6497,7 +6497,7 @@ static int nl80211_remain_on_channel(str
+@@ -6874,7 +6874,7 @@ static int nl80211_remain_on_channel(str
if (!msg)
return -ENOMEM;
NL80211_CMD_REMAIN_ON_CHANNEL);
if (IS_ERR(hdr)) {
-@@ -6716,7 +6716,7 @@ static int nl80211_register_mgmt(struct
+@@ -7093,7 +7093,7 @@ static int nl80211_register_mgmt(struct
if (!rdev->ops->mgmt_tx)
return -EOPNOTSUPP;
nla_data(info->attrs[NL80211_ATTR_FRAME_MATCH]),
nla_len(info->attrs[NL80211_ATTR_FRAME_MATCH]));
}
-@@ -6786,7 +6786,7 @@ static int nl80211_tx_mgmt(struct sk_buf
+@@ -7163,7 +7163,7 @@ static int nl80211_tx_mgmt(struct sk_buf
if (!msg)
return -ENOMEM;
NL80211_CMD_FRAME);
if (IS_ERR(hdr)) {
-@@ -6901,7 +6901,7 @@ static int nl80211_get_power_save(struct
+@@ -7278,7 +7278,7 @@ static int nl80211_get_power_save(struct
if (!msg)
return -ENOMEM;
NL80211_CMD_GET_POWER_SAVE);
if (!hdr) {
err = -ENOBUFS;
-@@ -7190,7 +7190,7 @@ static int nl80211_get_wowlan(struct sk_
+@@ -7570,7 +7570,7 @@ static int nl80211_get_wowlan(struct sk_
if (!msg)
return -ENOMEM;
NL80211_CMD_GET_WOWLAN);
if (!hdr)
goto nla_put_failure;
-@@ -7613,7 +7613,7 @@ static int nl80211_register_unexpected_f
+@@ -7994,7 +7994,7 @@ static int nl80211_register_unexpected_f
if (wdev->ap_unexpected_nlportid)
return -EBUSY;
return 0;
}
-@@ -7643,7 +7643,7 @@ static int nl80211_probe_client(struct s
+@@ -8024,7 +8024,7 @@ static int nl80211_probe_client(struct s
if (!msg)
return -ENOMEM;
NL80211_CMD_PROBE_CLIENT);
if (IS_ERR(hdr)) {
-@@ -7687,13 +7687,13 @@ static int nl80211_register_beacons(stru
+@@ -8068,13 +8068,13 @@ static int nl80211_register_beacons(stru
/* First, check if already registered. */
spin_lock_bh(&rdev->beacon_registrations_lock);
list_for_each_entry(reg, &rdev->beacon_registrations, list) {
list_add(&nreg->list, &rdev->beacon_registrations);
spin_unlock_bh(&rdev->beacon_registrations_lock);
-@@ -9996,12 +9996,12 @@ static int nl80211_netlink_notify(struct
+@@ -10563,12 +10563,12 @@ static int nl80211_netlink_notify(struct
list_for_each_entry_rcu(rdev, &cfg80211_rdev_list, list) {
list_for_each_entry_rcu(wdev, &rdev->wdev_list, list)