d80211: Fix ieee80211_ptr check
dev->ieee80211_ptr can no longer be directly compared to check if a virtual
interface belongs to a master device.
Signed-off-by: Michael Wu <[email protected]>
---
net/d80211/ieee80211.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/net/d80211/ieee80211.c b/net/d80211/ieee80211.c
index adce657..70eb9be 100644
--- a/net/d80211/ieee80211.c
+++ b/net/d80211/ieee80211.c
@@ -1093,7 +1093,8 @@ __ieee80211_tx_prepare(struct ieee80211_
static int inline is_ieee80211_device(struct net_device *dev,
struct net_device *master)
{
- return (dev->ieee80211_ptr == master->ieee80211_ptr);
+ return (wdev_priv(dev->ieee80211_ptr) ==
+ wdev_priv(master->ieee80211_ptr));
}
/* Device in tx->dev has a reference added; use dev_put(tx->dev) when
On Tue, 20 Feb 2007 18:13:54 -0500, Michael Wu wrote:
> dev->ieee80211_ptr can no longer be directly compared to check if a virtual
> interface belongs to a master device.
Hm, apparently the regexp I tried when resolving conflicts with John's
tree wasn't good enough to catch this :-(
Let's hope there are no more such things left.
Thanks for finding this,
Jiri
--
Jiri Benc
SUSE Labs
On Wed, 2007-02-21 at 19:01 +0100, Jiri Benc wrote:
> On Tue, 20 Feb 2007 18:13:54 -0500, Michael Wu wrote:
> > dev->ieee80211_ptr can no longer be directly compared to check if a virtual
> > interface belongs to a master device.
>
> Hm, apparently the regexp I tried when resolving conflicts with John's
> tree wasn't good enough to catch this :-(
No, that's an error I made.
> Let's hope there are no more such things left.
I doubt it. I should have remembered this special case but forgot about
it. The thing is that in earlier wiphy versions I had ieee80211_ptr
point to the wiphy directly so I *intentionally* kept the comparison
like that when reviewing all uses of ieee80211_ptr. When I realised that
we need per-netdev wireless state I put that behind ieee80211_ptr and
then forgot to update this spot.
johannes