rtlwifi: Remove seq_number from rtl_tid_data
authorPing-Ke Shih <pkshih@realtek.com>
Tue, 24 Oct 2017 02:03:31 +0000 (10:03 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 27 Oct 2017 08:02:58 +0000 (11:02 +0300)
Since mac80211 maintains the sequence number for each STA/TID,
driver doesn't need to maintain a copy.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/realtek/rtlwifi/base.c
drivers/net/wireless/realtek/rtlwifi/pci.c
drivers/net/wireless/realtek/rtlwifi/usb.c
drivers/net/wireless/realtek/rtlwifi/wifi.h

index ea90b46..7e3107f 100644 (file)
@@ -1618,9 +1618,8 @@ int rtl_tx_agg_start(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
 
        RT_TRACE(rtlpriv, COMP_SEND, DBG_DMESG,
                 "on ra = %pM tid = %d seq:%d\n", sta->addr, tid,
-                tid_data->seq_number);
+                *ssn);
 
-       *ssn = tid_data->seq_number;
        tid_data->agg.agg_state = RTL_AGG_START;
 
        ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid);
@@ -1679,8 +1678,7 @@ int rtl_rx_agg_start(struct ieee80211_hw *hw,
        tid_data = &sta_entry->tids[tid];
 
        RT_TRACE(rtlpriv, COMP_RECV, DBG_DMESG,
-                "on ra = %pM tid = %d seq:%d\n", sta->addr, tid,
-                tid_data->seq_number);
+                "on ra = %pM tid = %d\n", sta->addr, tid);
 
        tid_data->agg.rx_agg_state = RTL_RX_AGG_START;
        return 0;
index b9a6d23..eb12818 100644 (file)
@@ -1623,7 +1623,6 @@ static int rtl_pci_tx(struct ieee80211_hw *hw,
                      struct rtl_tcb_desc *ptcb_desc)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
-       struct rtl_sta_info *sta_entry = NULL;
        struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
        struct rtl8192_tx_ring *ring;
        struct rtl_tx_desc *pdesc;
@@ -1635,9 +1634,6 @@ static int rtl_pci_tx(struct ieee80211_hw *hw,
        __le16 fc = rtl_get_fc(skb);
        u8 *pda_addr = hdr->addr1;
        struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw));
-       /*ssn */
-       u8 tid = 0;
-       u16 seq_number = 0;
        u8 own;
        u8 temp_one = 1;
 
@@ -1699,19 +1695,6 @@ static int rtl_pci_tx(struct ieee80211_hw *hw,
                        return skb->len;
        }
 
-       if (ieee80211_is_data_qos(fc)) {
-               tid = rtl_get_tid(skb);
-               if (sta) {
-                       sta_entry = (struct rtl_sta_info *)sta->drv_priv;
-                       seq_number = (le16_to_cpu(hdr->seq_ctrl) &
-                                     IEEE80211_SCTL_SEQ) >> 4;
-                       seq_number += 1;
-
-                       if (!ieee80211_has_morefrags(hdr->frame_control))
-                               sta_entry->tids[tid].seq_number = seq_number;
-               }
-       }
-
        if (ieee80211_is_data(fc))
                rtlpriv->cfg->ops->led_control(hw, LED_CTL_TX);
 
index 5590d07..39b033b 100644 (file)
@@ -952,17 +952,12 @@ static void _rtl_usb_tx_preprocess(struct ieee80211_hw *hw,
                                   u16 hw_queue)
 {
        struct rtl_priv *rtlpriv = rtl_priv(hw);
-       struct rtl_mac *mac = rtl_mac(rtl_priv(hw));
        struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
        struct rtl_tx_desc *pdesc = NULL;
        struct rtl_tcb_desc tcb_desc;
        struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)(skb->data);
        __le16 fc = hdr->frame_control;
        u8 *pda_addr = hdr->addr1;
-       /* ssn */
-       u8 *qc = NULL;
-       u8 tid = 0;
-       u16 seq_number = 0;
 
        memset(&tcb_desc, 0, sizeof(struct rtl_tcb_desc));
        if (ieee80211_is_auth(fc)) {
@@ -983,20 +978,8 @@ static void _rtl_usb_tx_preprocess(struct ieee80211_hw *hw,
                rtlpriv->stats.txbytesbroadcast += skb->len;
        else
                rtlpriv->stats.txbytesunicast += skb->len;
-       if (ieee80211_is_data_qos(fc)) {
-               qc = ieee80211_get_qos_ctl(hdr);
-               tid = qc[0] & IEEE80211_QOS_CTL_TID_MASK;
-               seq_number = (le16_to_cpu(hdr->seq_ctrl) &
-                            IEEE80211_SCTL_SEQ) >> 4;
-               seq_number += 1;
-               seq_number <<= 4;
-       }
        rtlpriv->cfg->ops->fill_tx_desc(hw, hdr, (u8 *)pdesc, NULL, info, sta, skb,
                                        hw_queue, &tcb_desc);
-       if (!ieee80211_has_morefrags(hdr->frame_control)) {
-               if (qc)
-                       mac->tids[tid].seq_number = seq_number;
-       }
        if (ieee80211_is_data(fc))
                rtlpriv->cfg->ops->led_control(hw, LED_CTL_TX);
 }
index 7dfc73b..22afc14 100644 (file)
@@ -1324,7 +1324,6 @@ struct rssi_sta {
 };
 
 struct rtl_tid_data {
-       u16 seq_number;
        struct rtl_ht_agg agg;
 };