summaryrefslogtreecommitdiff
path: root/patches
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2012-01-21 14:43:35 +0100
committerLuis R. Rodriguez <mcgrof@frijolero.org>2012-01-23 09:25:45 -0800
commit1879c5ff5682d48aa8f22d5db665db819ead4b0a (patch)
treeacf926f0759c4c485109c50660489bda5c267434 /patches
parent4d33d40801e7cc85c3b0969683e7e93db1627371 (diff)
compat-wireless: use skb_get_queue_mapping() in b43 and b43legacy
Use skb_get_queue_mapping() for getting the queue_mapping member of skb. Some old kernels do not have the member queue_mapping with all configuration options, but this function always returns something. This should also go into compat-wireless-stable-3.3. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Diffstat (limited to 'patches')
-rw-r--r--patches/48-use_skb_get_queue_mapping.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/patches/48-use_skb_get_queue_mapping.patch b/patches/48-use_skb_get_queue_mapping.patch
new file mode 100644
index 00000000..6f172bd9
--- /dev/null
+++ b/patches/48-use_skb_get_queue_mapping.patch
@@ -0,0 +1,38 @@
+Use skb_get_queue_mapping() for getting the queue_mapping member of
+skb. Some old kernels do not have the member queue_mapping, but this
+function always returns something.
+
+--- a/drivers/net/wireless/b43/main.c
++++ b/drivers/net/wireless/b43/main.c
+@@ -3430,11 +3430,11 @@ static void b43_op_tx(struct ieee80211_h
+ }
+ B43_WARN_ON(skb_shinfo(skb)->nr_frags);
+
+- skb_queue_tail(&wl->tx_queue[skb->queue_mapping], skb);
+- if (!wl->tx_queue_stopped[skb->queue_mapping]) {
++ skb_queue_tail(&wl->tx_queue[skb_get_queue_mapping(skb)], skb);
++ if (!wl->tx_queue_stopped[skb_get_queue_mapping(skb)]) {
+ ieee80211_queue_work(wl->hw, &wl->tx_work);
+ } else {
+- ieee80211_stop_queue(wl->hw, skb->queue_mapping);
++ ieee80211_stop_queue(wl->hw, skb_get_queue_mapping(skb));
+ }
+ }
+
+--- a/drivers/net/wireless/b43legacy/main.c
++++ b/drivers/net/wireless/b43legacy/main.c
+@@ -2493,11 +2493,11 @@ static void b43legacy_op_tx(struct ieee8
+ }
+ B43legacy_WARN_ON(skb_shinfo(skb)->nr_frags);
+
+- skb_queue_tail(&wl->tx_queue[skb->queue_mapping], skb);
+- if (!wl->tx_queue_stopped[skb->queue_mapping])
++ skb_queue_tail(&wl->tx_queue[skb_get_queue_mapping(skb)], skb);
++ if (!wl->tx_queue_stopped[skb_get_queue_mapping(skb)])
+ ieee80211_queue_work(wl->hw, &wl->tx_work);
+ else
+- ieee80211_stop_queue(wl->hw, skb->queue_mapping);
++ ieee80211_stop_queue(wl->hw, skb_get_queue_mapping(skb));
+ }
+
+ static int b43legacy_op_conf_tx(struct ieee80211_hw *hw,