mac80211: partially fix skb->cb use
This patch fixes mac80211 to not use the skb->cb over the queue step from virtual interfaces to the master. The patch also, for now, disables aggregation because that would still require requeuing, will fix that in a separate patch. There are two other places (software requeue and powersaving stations) where requeue can happen, but that is not currently used by any drivers/not possible to use respectively. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
0ccd58fc03
commit
d0f0980414
@@ -1233,18 +1233,12 @@ static void ieee80211_tasklet_handler(unsigned long data)
|
||||
/* Remove added headers (e.g., QoS control), encryption header/MIC, etc. to
|
||||
* make a prepared TX frame (one that has been given to hw) to look like brand
|
||||
* new IEEE 802.11 frame that is ready to go through TX processing again.
|
||||
* Also, tx_packet_data in cb is restored from tx_control. */
|
||||
*/
|
||||
static void ieee80211_remove_tx_extra(struct ieee80211_local *local,
|
||||
struct ieee80211_key *key,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
int hdrlen, iv_len, mic_len;
|
||||
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
||||
|
||||
info->flags &= IEEE80211_TX_CTL_REQ_TX_STATUS |
|
||||
IEEE80211_TX_CTL_DO_NOT_ENCRYPT |
|
||||
IEEE80211_TX_CTL_REQUEUE |
|
||||
IEEE80211_TX_CTL_EAPOL_FRAME;
|
||||
|
||||
hdrlen = ieee80211_get_hdrlen_from_skb(skb);
|
||||
|
||||
|
Reference in New Issue
Block a user