Linux wireless drivers development
 help / color / mirror / Atom feed
* [PATCH] mac80211: Fix oops on wme.c where mdev is assumed to be a wiphy
@ 2008-09-26  9:01 Luis R. Rodriguez
  2008-09-26 10:51 ` Johannes Berg
  2008-09-26 11:34 ` [PATCH] mac80211: fixups for "make master iface not wireless" Johannes Berg
  0 siblings, 2 replies; 8+ messages in thread
From: Luis R. Rodriguez @ 2008-09-26  9:01 UTC (permalink / raw)
  To: johannes, johannes, linville; +Cc: Luis R. Rodriguez, linux-wireless

After Johannes' patch which set mdev as non wiphy
there were some remaining bits of code which required
changing the assumption that mdev was a wiphy. We
change two callers to get to struct ieee80211_local
the non-wiphy and actual mdev way.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---

Tested with ath5k on v2.6.27-rc7-1972-gfb8961a.

 net/mac80211/wme.c |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/net/mac80211/wme.c b/net/mac80211/wme.c
index 6748ded..7d114bd 100644
--- a/net/mac80211/wme.c
+++ b/net/mac80211/wme.c
@@ -75,8 +75,16 @@ static int wme_downgrade_ac(struct sk_buff *skb)
 /* Indicate which queue to use.  */
 static u16 classify80211(struct sk_buff *skb, struct net_device *dev)
 {
-	struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
+	struct ieee80211_local *local;
 	struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
+	struct ieee80211_master_priv *mpriv;
+
+	/* this is not for wiphys, just for mdev */
+	BUG_ON (dev->ieee80211_ptr);
+
+	mpriv = netdev_priv(dev);
+	local = mpriv->local;
+
 
 	if (!ieee80211_is_data(hdr->frame_control)) {
 		/* management frames go on AC_VO queue, but are sent
@@ -114,12 +122,19 @@ static u16 classify80211(struct sk_buff *skb, struct net_device *dev)
 u16 ieee80211_select_queue(struct net_device *dev, struct sk_buff *skb)
 {
 	struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
-	struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
+	struct ieee80211_local *local;
 	struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
+	struct ieee80211_master_priv *mpriv;
 	struct sta_info *sta;
 	u16 queue;
 	u8 tid;
 
+	/* this is not for wiphys, just for mdev */
+	BUG_ON (dev->ieee80211_ptr);
+
+	mpriv = netdev_priv(dev);
+	local = mpriv->local;
+
 	queue = classify80211(skb, dev);
 	if (unlikely(queue >= local->hw.queues))
 		queue = local->hw.queues - 1;
-- 
1.5.6.rc2.15.g457bb.dirty


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2008-09-26 19:16 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-26  9:01 [PATCH] mac80211: Fix oops on wme.c where mdev is assumed to be a wiphy Luis R. Rodriguez
2008-09-26 10:51 ` Johannes Berg
2008-09-26 11:29   ` Johannes Berg
2008-09-26 11:34 ` [PATCH] mac80211: fixups for "make master iface not wireless" Johannes Berg
2008-09-26 12:57   ` Larry Finger
2008-09-26 17:37   ` Andrey Yurovsky
2008-09-26 17:40     ` Andrey Yurovsky
2008-09-26 19:16       ` Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox