[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20130604124347.9b994e150e2f37c9be9f32ad@canb.auug.org.au>
Date: Tue, 4 Jun 2013 12:43:47 +1000
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: "John W. Linville" <linville@...driver.com>
Cc: linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
Felix Fietkau <nbd@...nwrt.org>,
Helmut Schaa <helmut.schaa@...glemail.com>,
Johannes Berg <johannes.berg@...el.com>,
Jakub Kicinski <kubakici@...pl>,
David Miller <davem@...emloft.net>, <netdev@...r.kernel.org>
Subject: linux-next: manual merge of the wireless-next tree with the net
tree
Hi John,
Today's linux-next merge of the wireless-next tree got a conflict in
net/mac80211/iface.c between commit ac20976dcaee ("mac80211: Allow single
vif mac address change with addr_mask") from the net tree and commit
31eba5bc56a9 ("mac80211: support active monitor interfaces") from the
wireless-next tree.
I fixed it up (I think - see below) and can carry the fix as necessary
(no action is required).
--
Cheers,
Stephen Rothwell sfr@...b.auug.org.au
diff --cc net/mac80211/iface.c
index 7c3ba86,7cabaf2..0000000
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@@ -159,10 -159,10 +159,11 @@@ static int ieee80211_change_mtu(struct
return 0;
}
- static int ieee80211_verify_mac(struct ieee80211_sub_if_data *sdata, u8 *addr)
-static int ieee80211_verify_mac(struct ieee80211_local *local, u8 *addr,
++static int ieee80211_verify_mac(struct ieee80211_sub_if_data *sdata, u8 *addr,
+ bool check_dup)
{
- struct ieee80211_sub_if_data *sdata;
+ struct ieee80211_local *local = sdata->local;
+ struct ieee80211_sub_if_data *iter;
u64 new, mask, tmp;
u8 *m;
int ret = 0;
@@@ -180,16 -180,16 +181,19 @@@
((u64)m[2] << 3*8) | ((u64)m[3] << 2*8) |
((u64)m[4] << 1*8) | ((u64)m[5] << 0*8);
+ if (!check_dup)
+ return ret;
mutex_lock(&local->iflist_mtx);
- list_for_each_entry(sdata, &local->interfaces, list) {
- if (sdata->vif.type == NL80211_IFTYPE_MONITOR &&
- !(sdata->u.mntr_flags & MONITOR_FLAG_ACTIVE))
+ list_for_each_entry(iter, &local->interfaces, list) {
+ if (iter == sdata)
continue;
- if (iter->vif.type == NL80211_IFTYPE_MONITOR)
- m = sdata->vif.addr;
++ if (iter->vif.type == NL80211_IFTYPE_MONITOR &&
++ !(iter->u.mntr_flags & MONITOR_FLAG_ACTIVE))
+ continue;
+
+ m = iter->vif.addr;
tmp = ((u64)m[0] << 5*8) | ((u64)m[1] << 4*8) |
((u64)m[2] << 3*8) | ((u64)m[3] << 2*8) |
((u64)m[4] << 1*8) | ((u64)m[5] << 0*8);
@@@ -213,7 -214,11 +218,11 @@@ static int ieee80211_change_mac(struct
if (ieee80211_sdata_running(sdata))
return -EBUSY;
- ret = ieee80211_verify_mac(sdata, sa->sa_data);
+ if (sdata->vif.type == NL80211_IFTYPE_MONITOR &&
+ !(sdata->u.mntr_flags & MONITOR_FLAG_ACTIVE))
+ check_dup = false;
+
- ret = ieee80211_verify_mac(sdata->local, sa->sa_data, check_dup);
++ ret = ieee80211_verify_mac(sdata, sa->sa_data, check_dup);
if (ret)
return ret;
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists