--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -1593,7 +1593,7 @@ static int nl80211_dump_wiphy(struct sk_
+@@ -1604,7 +1604,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,
cb->nlh->nlmsg_seq,
NLM_F_MULTI,
split, &cb->args[1],
-@@ -1642,7 +1642,7 @@ static int nl80211_get_wiphy(struct sk_b
+@@ -1653,7 +1653,7 @@ static int nl80211_get_wiphy(struct sk_b
if (!msg)
return -ENOMEM;
false, NULL, NULL, NULL) < 0) {
nlmsg_free(msg);
return -ENOBUFS;
-@@ -2222,7 +2222,7 @@ static int nl80211_dump_interface(struct
+@@ -2233,7 +2233,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);
-@@ -2253,7 +2253,7 @@ static int nl80211_get_interface(struct
+@@ -2264,7 +2264,7 @@ static int nl80211_get_interface(struct
if (!msg)
return -ENOMEM;
dev, wdev) < 0) {
nlmsg_free(msg);
return -ENOBUFS;
-@@ -2478,7 +2478,7 @@ static int nl80211_new_interface(struct
+@@ -2489,7 +2489,7 @@ static int nl80211_new_interface(struct
break;
}
rdev, wdev) < 0) {
nlmsg_free(msg);
return -ENOBUFS;
-@@ -2613,7 +2613,7 @@ static int nl80211_get_key(struct sk_buf
+@@ -2624,7 +2624,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);
-@@ -3549,7 +3549,7 @@ static int nl80211_dump_station(struct s
+@@ -3565,7 +3565,7 @@ static int nl80211_dump_station(struct s
goto out_err;
if (nl80211_send_station(skb,
- NETLINK_CB(cb->skb).portid,
+ NETLINK_CB_PORTID(cb->skb),
cb->nlh->nlmsg_seq, NLM_F_MULTI,
- dev, netdev, mac_addr,
+ dev, wdev->netdev, mac_addr,
&sinfo) < 0)
-@@ -3595,7 +3595,7 @@ static int nl80211_get_station(struct sk
+@@ -3611,7 +3611,7 @@ static int nl80211_get_station(struct sk
if (!msg)
return -ENOMEM;
rdev, dev, mac_addr, &sinfo) < 0) {
nlmsg_free(msg);
return -ENOBUFS;
-@@ -4195,7 +4195,7 @@ static int nl80211_dump_mpath(struct sk_
+@@ -4211,7 +4211,7 @@ static int nl80211_dump_mpath(struct sk_
if (err)
goto out_err;
- if (nl80211_send_mpath(skb, NETLINK_CB(cb->skb).portid,
+ if (nl80211_send_mpath(skb, NETLINK_CB_PORTID(cb->skb),
cb->nlh->nlmsg_seq, NLM_F_MULTI,
- netdev, dst, next_hop,
+ wdev->netdev, dst, next_hop,
&pinfo) < 0)
-@@ -4244,7 +4244,7 @@ static int nl80211_get_mpath(struct sk_b
+@@ -4260,7 +4260,7 @@ static int nl80211_get_mpath(struct sk_b
if (!msg)
return -ENOMEM;
dev, dst, next_hop, &pinfo) < 0) {
nlmsg_free(msg);
return -ENOBUFS;
-@@ -4508,7 +4508,7 @@ static int nl80211_get_mesh_config(struc
+@@ -4524,7 +4524,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;
-@@ -4858,7 +4858,7 @@ static int nl80211_get_reg(struct sk_buf
+@@ -4874,7 +4874,7 @@ static int nl80211_get_reg(struct sk_buf
goto out;
}
NL80211_CMD_GET_REG);
if (!hdr)
goto put_failure;
-@@ -5558,7 +5558,7 @@ static int nl80211_send_bss(struct sk_bu
+@@ -5574,7 +5574,7 @@ static int nl80211_send_bss(struct sk_bu
ASSERT_WDEV_LOCK(wdev);
NL80211_CMD_NEW_SCAN_RESULTS);
if (!hdr)
return -1;
-@@ -5789,7 +5789,7 @@ static int nl80211_dump_survey(struct sk
+@@ -5810,7 +5810,7 @@ static int nl80211_dump_survey(struct sk
}
if (nl80211_send_survey(skb,
- NETLINK_CB(cb->skb).portid,
+ NETLINK_CB_PORTID(cb->skb),
cb->nlh->nlmsg_seq, NLM_F_MULTI,
- netdev,
- &survey) < 0)
-@@ -6448,7 +6448,7 @@ static int nl80211_testmode_dump(struct
+ wdev->netdev, &survey) < 0)
+ goto out;
+@@ -6468,7 +6468,7 @@ static int nl80211_testmode_dump(struct
}
while (1) {
cb->nlh->nlmsg_seq, NLM_F_MULTI,
NL80211_CMD_TESTMODE);
struct nlattr *tmdata;
-@@ -6527,7 +6527,7 @@ struct sk_buff *cfg80211_testmode_alloc_
+@@ -6547,7 +6547,7 @@ struct sk_buff *cfg80211_testmode_alloc_
return NULL;
return __cfg80211_testmode_alloc_skb(rdev, approxlen,
rdev->testmode_info->snd_seq,
GFP_KERNEL);
}
-@@ -6887,7 +6887,7 @@ static int nl80211_remain_on_channel(str
+@@ -6907,7 +6907,7 @@ static int nl80211_remain_on_channel(str
if (!msg)
return -ENOMEM;
NL80211_CMD_REMAIN_ON_CHANNEL);
if (IS_ERR(hdr)) {
-@@ -7106,7 +7106,7 @@ static int nl80211_register_mgmt(struct
+@@ -7126,7 +7126,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]));
}
-@@ -7176,7 +7176,7 @@ static int nl80211_tx_mgmt(struct sk_buf
+@@ -7196,7 +7196,7 @@ static int nl80211_tx_mgmt(struct sk_buf
if (!msg)
return -ENOMEM;
NL80211_CMD_FRAME);
if (IS_ERR(hdr)) {
-@@ -7291,7 +7291,7 @@ static int nl80211_get_power_save(struct
+@@ -7311,7 +7311,7 @@ static int nl80211_get_power_save(struct
if (!msg)
return -ENOMEM;
NL80211_CMD_GET_POWER_SAVE);
if (!hdr) {
err = -ENOBUFS;
-@@ -7583,7 +7583,7 @@ static int nl80211_get_wowlan(struct sk_
+@@ -7603,7 +7603,7 @@ static int nl80211_get_wowlan(struct sk_
if (!msg)
return -ENOMEM;
NL80211_CMD_GET_WOWLAN);
if (!hdr)
goto nla_put_failure;
-@@ -8007,7 +8007,7 @@ static int nl80211_register_unexpected_f
+@@ -8027,7 +8027,7 @@ static int nl80211_register_unexpected_f
if (wdev->ap_unexpected_nlportid)
return -EBUSY;
return 0;
}
-@@ -8037,7 +8037,7 @@ static int nl80211_probe_client(struct s
+@@ -8057,7 +8057,7 @@ static int nl80211_probe_client(struct s
if (!msg)
return -ENOMEM;
NL80211_CMD_PROBE_CLIENT);
if (IS_ERR(hdr)) {
-@@ -8081,13 +8081,13 @@ static int nl80211_register_beacons(stru
+@@ -8101,13 +8101,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);
-@@ -8160,7 +8160,7 @@ static int nl80211_get_protocol_features
+@@ -8182,7 +8182,7 @@ static int nl80211_get_protocol_features
if (!msg)
return -ENOMEM;
NL80211_CMD_GET_PROTOCOL_FEATURES);
if (!hdr)
goto nla_put_failure;
-@@ -8261,7 +8261,7 @@ static int nl80211_crit_protocol_start(struct sk_buff *skb,
+@@ -8257,7 +8257,7 @@ static int nl80211_crit_protocol_start(s
ret = rdev_crit_proto_start(rdev, wdev, proto, duration);
if (!ret)
return ret;
}
-@@ -10565,12 +10565,12 @@ static int nl80211_netlink_notify(struct
+@@ -10661,12 +10661,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)