.. | .. |
---|
162 | 162 | u8 header_size; |
---|
163 | 163 | u8 vap_id = 0; |
---|
164 | 164 | u8 dword_align_bytes; |
---|
| 165 | + bool tx_eapol; |
---|
165 | 166 | u16 seq_num; |
---|
166 | 167 | |
---|
167 | 168 | info = IEEE80211_SKB_CB(skb); |
---|
168 | 169 | vif = info->control.vif; |
---|
169 | 170 | tx_params = (struct skb_info *)info->driver_data; |
---|
| 171 | + |
---|
| 172 | + tx_eapol = IEEE80211_SKB_CB(skb)->control.flags & |
---|
| 173 | + IEEE80211_TX_CTRL_PORT_CTRL_PROTO; |
---|
170 | 174 | |
---|
171 | 175 | header_size = FRAME_DESC_SZ + sizeof(struct rsi_xtended_desc); |
---|
172 | 176 | if (header_size > skb_headroom(skb)) { |
---|
.. | .. |
---|
231 | 235 | } |
---|
232 | 236 | } |
---|
233 | 237 | |
---|
234 | | - if (skb->protocol == cpu_to_be16(ETH_P_PAE)) { |
---|
| 238 | + if (tx_eapol) { |
---|
235 | 239 | rsi_dbg(INFO_ZONE, "*** Tx EAPOL ***\n"); |
---|
236 | 240 | |
---|
237 | 241 | data_desc->frame_info = cpu_to_le16(RATE_INFO_ENABLE); |
---|