diff options
Diffstat (limited to 'drivers/net/wireless/rtlwifi/rtl8192cu/trx.c')
-rw-r--r-- | drivers/net/wireless/rtlwifi/rtl8192cu/trx.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c b/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c index 9855c3e0a4b2..d0b0d43b9a6d 100644 --- a/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c +++ b/drivers/net/wireless/rtlwifi/rtl8192cu/trx.c | |||
@@ -334,7 +334,7 @@ bool rtl92cu_rx_query_desc(struct ieee80211_hw *hw, | |||
334 | rx_status->flag |= RX_FLAG_40MHZ; | 334 | rx_status->flag |= RX_FLAG_40MHZ; |
335 | if (GET_RX_DESC_RX_HT(pdesc)) | 335 | if (GET_RX_DESC_RX_HT(pdesc)) |
336 | rx_status->flag |= RX_FLAG_HT; | 336 | rx_status->flag |= RX_FLAG_HT; |
337 | rx_status->flag |= RX_FLAG_TSFT; | 337 | rx_status->flag |= RX_FLAG_MACTIME_MPDU; |
338 | if (stats->decrypted) | 338 | if (stats->decrypted) |
339 | rx_status->flag |= RX_FLAG_DECRYPTED; | 339 | rx_status->flag |= RX_FLAG_DECRYPTED; |
340 | rx_status->rate_idx = _rtl92c_rate_mapping(hw, | 340 | rx_status->rate_idx = _rtl92c_rate_mapping(hw, |
@@ -504,7 +504,7 @@ void rtl92cu_tx_fill_desc(struct ieee80211_hw *hw, | |||
504 | struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); | 504 | struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); |
505 | struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw)); | 505 | struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw)); |
506 | bool defaultadapter = true; | 506 | bool defaultadapter = true; |
507 | struct ieee80211_sta *sta = ieee80211_find_sta(mac->vif, mac->bssid); | 507 | struct ieee80211_sta *sta; |
508 | struct rtl_tcb_desc tcb_desc; | 508 | struct rtl_tcb_desc tcb_desc; |
509 | u8 *qc = ieee80211_get_qos_ctl(hdr); | 509 | u8 *qc = ieee80211_get_qos_ctl(hdr); |
510 | u8 tid = qc[0] & IEEE80211_QOS_CTL_TID_MASK; | 510 | u8 tid = qc[0] & IEEE80211_QOS_CTL_TID_MASK; |
@@ -562,10 +562,13 @@ void rtl92cu_tx_fill_desc(struct ieee80211_hw *hw, | |||
562 | SET_TX_DESC_DATA_BW(txdesc, 0); | 562 | SET_TX_DESC_DATA_BW(txdesc, 0); |
563 | SET_TX_DESC_DATA_SC(txdesc, 0); | 563 | SET_TX_DESC_DATA_SC(txdesc, 0); |
564 | } | 564 | } |
565 | rcu_read_lock(); | ||
566 | sta = ieee80211_find_sta(mac->vif, mac->bssid); | ||
565 | if (sta) { | 567 | if (sta) { |
566 | u8 ampdu_density = sta->ht_cap.ampdu_density; | 568 | u8 ampdu_density = sta->ht_cap.ampdu_density; |
567 | SET_TX_DESC_AMPDU_DENSITY(txdesc, ampdu_density); | 569 | SET_TX_DESC_AMPDU_DENSITY(txdesc, ampdu_density); |
568 | } | 570 | } |
571 | rcu_read_unlock(); | ||
569 | if (info->control.hw_key) { | 572 | if (info->control.hw_key) { |
570 | struct ieee80211_key_conf *keyconf = info->control.hw_key; | 573 | struct ieee80211_key_conf *keyconf = info->control.hw_key; |
571 | switch (keyconf->cipher) { | 574 | switch (keyconf->cipher) { |