diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-dev.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 12 |
2 files changed, 2 insertions, 12 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h index 858a548330a5..8538af788a73 100644 --- a/drivers/net/wireless/iwlwifi/iwl-dev.h +++ b/drivers/net/wireless/iwlwifi/iwl-dev.h | |||
@@ -433,7 +433,7 @@ struct iwl_ht_agg { | |||
433 | 433 | ||
434 | 434 | ||
435 | struct iwl_tid_data { | 435 | struct iwl_tid_data { |
436 | u16 seq_number; | 436 | u16 seq_number; /* agn only */ |
437 | u16 tfds_in_queue; | 437 | u16 tfds_in_queue; |
438 | struct iwl_ht_agg agg; | 438 | struct iwl_ht_agg agg; |
439 | }; | 439 | }; |
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index 68b8a1af3be7..445406406bd0 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
@@ -473,10 +473,8 @@ static int iwl3945_tx_skb(struct iwl_priv *priv, struct sk_buff *skb) | |||
473 | u8 unicast; | 473 | u8 unicast; |
474 | u8 sta_id; | 474 | u8 sta_id; |
475 | u8 tid = 0; | 475 | u8 tid = 0; |
476 | u16 seq_number = 0; | ||
477 | __le16 fc; | 476 | __le16 fc; |
478 | u8 wait_write_ptr = 0; | 477 | u8 wait_write_ptr = 0; |
479 | u8 *qc = NULL; | ||
480 | unsigned long flags; | 478 | unsigned long flags; |
481 | 479 | ||
482 | spin_lock_irqsave(&priv->lock, flags); | 480 | spin_lock_irqsave(&priv->lock, flags); |
@@ -519,16 +517,10 @@ static int iwl3945_tx_skb(struct iwl_priv *priv, struct sk_buff *skb) | |||
519 | IWL_DEBUG_RATE(priv, "station Id %d\n", sta_id); | 517 | IWL_DEBUG_RATE(priv, "station Id %d\n", sta_id); |
520 | 518 | ||
521 | if (ieee80211_is_data_qos(fc)) { | 519 | if (ieee80211_is_data_qos(fc)) { |
522 | qc = ieee80211_get_qos_ctl(hdr); | 520 | u8 *qc = ieee80211_get_qos_ctl(hdr); |
523 | tid = qc[0] & IEEE80211_QOS_CTL_TID_MASK; | 521 | tid = qc[0] & IEEE80211_QOS_CTL_TID_MASK; |
524 | if (unlikely(tid >= MAX_TID_COUNT)) | 522 | if (unlikely(tid >= MAX_TID_COUNT)) |
525 | goto drop; | 523 | goto drop; |
526 | seq_number = priv->stations[sta_id].tid[tid].seq_number & | ||
527 | IEEE80211_SCTL_SEQ; | ||
528 | hdr->seq_ctrl = cpu_to_le16(seq_number) | | ||
529 | (hdr->seq_ctrl & | ||
530 | cpu_to_le16(IEEE80211_SCTL_FRAG)); | ||
531 | seq_number += 0x10; | ||
532 | } | 524 | } |
533 | 525 | ||
534 | /* Descriptor for chosen Tx queue */ | 526 | /* Descriptor for chosen Tx queue */ |
@@ -587,8 +579,6 @@ static int iwl3945_tx_skb(struct iwl_priv *priv, struct sk_buff *skb) | |||
587 | 579 | ||
588 | if (!ieee80211_has_morefrags(hdr->frame_control)) { | 580 | if (!ieee80211_has_morefrags(hdr->frame_control)) { |
589 | txq->need_update = 1; | 581 | txq->need_update = 1; |
590 | if (qc) | ||
591 | priv->stations[sta_id].tid[tid].seq_number = seq_number; | ||
592 | } else { | 582 | } else { |
593 | wait_write_ptr = 1; | 583 | wait_write_ptr = 1; |
594 | txq->need_update = 0; | 584 | txq->need_update = 0; |