diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/tx.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/tx.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/tx.c b/drivers/net/wireless/iwlwifi/mvm/tx.c index f0e96a927407..e05440d90319 100644 --- a/drivers/net/wireless/iwlwifi/mvm/tx.c +++ b/drivers/net/wireless/iwlwifi/mvm/tx.c | |||
@@ -91,11 +91,10 @@ static void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb, | |||
91 | tx_flags |= TX_CMD_FLG_ACK | TX_CMD_FLG_BAR; | 91 | tx_flags |= TX_CMD_FLG_ACK | TX_CMD_FLG_BAR; |
92 | 92 | ||
93 | /* High prio packet (wrt. BT coex) if it is EAPOL, MCAST or MGMT */ | 93 | /* High prio packet (wrt. BT coex) if it is EAPOL, MCAST or MGMT */ |
94 | if (info->band == IEEE80211_BAND_2GHZ && | 94 | if (info->band == IEEE80211_BAND_2GHZ && |
95 | (skb->protocol == cpu_to_be16(ETH_P_PAE) || | 95 | (info->control.flags & IEEE80211_TX_CTRL_PORT_CTRL_PROTO || |
96 | is_multicast_ether_addr(hdr->addr1) || | 96 | is_multicast_ether_addr(hdr->addr1) || |
97 | ieee80211_is_back_req(fc) || | 97 | ieee80211_is_back_req(fc) || ieee80211_is_mgmt(fc))) |
98 | ieee80211_is_mgmt(fc))) | ||
99 | tx_flags |= TX_CMD_FLG_BT_DIS; | 98 | tx_flags |= TX_CMD_FLG_BT_DIS; |
100 | 99 | ||
101 | if (ieee80211_has_morefrags(fc)) | 100 | if (ieee80211_has_morefrags(fc)) |
@@ -123,6 +122,8 @@ static void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb, | |||
123 | * it | 122 | * it |
124 | */ | 123 | */ |
125 | WARN_ON_ONCE(info->flags & IEEE80211_TX_CTL_AMPDU); | 124 | WARN_ON_ONCE(info->flags & IEEE80211_TX_CTL_AMPDU); |
125 | } else if (skb->protocol == cpu_to_be16(ETH_P_PAE)) { | ||
126 | tx_cmd->pm_frame_timeout = cpu_to_le16(2); | ||
126 | } else { | 127 | } else { |
127 | tx_cmd->pm_frame_timeout = 0; | 128 | tx_cmd->pm_frame_timeout = 0; |
128 | } | 129 | } |
@@ -171,7 +172,7 @@ static void iwl_mvm_set_tx_cmd_rate(struct iwl_mvm *mvm, | |||
171 | } | 172 | } |
172 | 173 | ||
173 | /* | 174 | /* |
174 | * for data packets, rate info comes from the table inside he fw. This | 175 | * for data packets, rate info comes from the table inside the fw. This |
175 | * table is controlled by LINK_QUALITY commands | 176 | * table is controlled by LINK_QUALITY commands |
176 | */ | 177 | */ |
177 | 178 | ||