diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn-tx.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-tx.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c index 24a11b8f73b..266490d8a39 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-tx.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-tx.c | |||
@@ -539,7 +539,14 @@ int iwlagn_tx_skb(struct iwl_priv *priv, struct sk_buff *skb) | |||
539 | unsigned long flags; | 539 | unsigned long flags; |
540 | bool is_agg = false; | 540 | bool is_agg = false; |
541 | 541 | ||
542 | if (info->control.vif) | 542 | /* |
543 | * If the frame needs to go out off-channel, then | ||
544 | * we'll have put the PAN context to that channel, | ||
545 | * so make the frame go out there. | ||
546 | */ | ||
547 | if (info->flags & IEEE80211_TX_CTL_TX_OFFCHAN) | ||
548 | ctx = &priv->contexts[IWL_RXON_CTX_PAN]; | ||
549 | else if (info->control.vif) | ||
543 | ctx = iwl_rxon_ctx_from_vif(info->control.vif); | 550 | ctx = iwl_rxon_ctx_from_vif(info->control.vif); |
544 | 551 | ||
545 | spin_lock_irqsave(&priv->lock, flags); | 552 | spin_lock_irqsave(&priv->lock, flags); |