diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2012-01-21 14:43:35 +0100 |
---|---|---|
committer | Luis R. Rodriguez <mcgrof@frijolero.org> | 2012-01-23 09:25:45 -0800 |
commit | 1879c5ff5682d48aa8f22d5db665db819ead4b0a (patch) | |
tree | acf926f0759c4c485109c50660489bda5c267434 /patches | |
parent | 4d33d40801e7cc85c3b0969683e7e93db1627371 (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.patch | 38 |
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, |