blob: 670394c05ff106eb7ff4813de875ce983e9e1e5c [file] [log] [blame]
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
@@ -3456,11 +3456,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
@@ -2529,11 +2529,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,