| From a6388e68321a1e0a0f408379c2a36396807745b3 Mon Sep 17 00:00:00 2001 |
| From: Malcolm Priestley <tvboxspy@gmail.com> |
| Date: Wed, 1 Apr 2015 22:32:52 +0100 |
| Subject: staging: vt6655: use ieee80211_tx_info to select packet type. |
| |
| From: Malcolm Priestley <tvboxspy@gmail.com> |
| |
| commit a6388e68321a1e0a0f408379c2a36396807745b3 upstream. |
| |
| Information for packet type is in ieee80211_tx_info |
| |
| band IEEE80211_BAND_5GHZ for PK_TYPE_11A. |
| |
| IEEE80211_TX_RC_USE_CTS_PROTECT via tx_rate flags selects PK_TYPE_11GB |
| |
| This ensures that the packet is always the right type. |
| |
| Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/staging/vt6655/rxtx.c | 14 +++++++++++--- |
| 1 file changed, 11 insertions(+), 3 deletions(-) |
| |
| --- a/drivers/staging/vt6655/rxtx.c |
| +++ b/drivers/staging/vt6655/rxtx.c |
| @@ -1308,10 +1308,18 @@ int vnt_generate_fifo_header(struct vnt_ |
| priv->hw->conf.chandef.chan->hw_value); |
| } |
| |
| - if (current_rate > RATE_11M) |
| - pkt_type = (u8)priv->byPacketType; |
| - else |
| + if (current_rate > RATE_11M) { |
| + if (info->band == IEEE80211_BAND_5GHZ) { |
| + pkt_type = PK_TYPE_11A; |
| + } else { |
| + if (tx_rate->flags & IEEE80211_TX_RC_USE_CTS_PROTECT) |
| + pkt_type = PK_TYPE_11GB; |
| + else |
| + pkt_type = PK_TYPE_11GA; |
| + } |
| + } else { |
| pkt_type = PK_TYPE_11B; |
| + } |
| |
| /*Set fifo controls */ |
| if (pkt_type == PK_TYPE_11A) |