ath9k_htc: Use VIF from the packet's control data
There is no need to use a locally stored reference. Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
9a3d025be1
commit
2299423bd0
@@ -232,6 +232,7 @@ static bool ath9k_htc_check_tx_aggr(struct ath9k_htc_priv *priv,
|
|||||||
void ath9k_tx_tasklet(unsigned long data)
|
void ath9k_tx_tasklet(unsigned long data)
|
||||||
{
|
{
|
||||||
struct ath9k_htc_priv *priv = (struct ath9k_htc_priv *)data;
|
struct ath9k_htc_priv *priv = (struct ath9k_htc_priv *)data;
|
||||||
|
struct ieee80211_vif *vif;
|
||||||
struct ieee80211_sta *sta;
|
struct ieee80211_sta *sta;
|
||||||
struct ieee80211_hdr *hdr;
|
struct ieee80211_hdr *hdr;
|
||||||
struct ieee80211_tx_info *tx_info;
|
struct ieee80211_tx_info *tx_info;
|
||||||
@@ -243,12 +244,16 @@ void ath9k_tx_tasklet(unsigned long data)
|
|||||||
hdr = (struct ieee80211_hdr *) skb->data;
|
hdr = (struct ieee80211_hdr *) skb->data;
|
||||||
fc = hdr->frame_control;
|
fc = hdr->frame_control;
|
||||||
tx_info = IEEE80211_SKB_CB(skb);
|
tx_info = IEEE80211_SKB_CB(skb);
|
||||||
|
vif = tx_info->control.vif;
|
||||||
|
|
||||||
memset(&tx_info->status, 0, sizeof(tx_info->status));
|
memset(&tx_info->status, 0, sizeof(tx_info->status));
|
||||||
|
|
||||||
|
if (!vif)
|
||||||
|
goto send_mac80211;
|
||||||
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
|
|
||||||
sta = ieee80211_find_sta(priv->vif, hdr->addr1);
|
sta = ieee80211_find_sta(vif, hdr->addr1);
|
||||||
if (!sta) {
|
if (!sta) {
|
||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
ieee80211_tx_status(priv->hw, skb);
|
ieee80211_tx_status(priv->hw, skb);
|
||||||
@@ -278,6 +283,7 @@ void ath9k_tx_tasklet(unsigned long data)
|
|||||||
|
|
||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
|
|
||||||
|
send_mac80211:
|
||||||
/* Send status to mac80211 */
|
/* Send status to mac80211 */
|
||||||
ieee80211_tx_status(priv->hw, skb);
|
ieee80211_tx_status(priv->hw, skb);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user