| .. | .. |
|---|
| 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); |
|---|