diff options
author | Malcolm Priestley | 2014-07-05 20:24:27 +0200 |
---|---|---|
committer | Greg Kroah-Hartman | 2014-07-09 01:03:57 +0200 |
commit | 71d764aefeb6010b496f2c47ea06d9389fa9b780 (patch) | |
tree | 786c836fed7a09f981bd938d0170e18ef40c7b92 /drivers/staging/vt6656/rxtx.c | |
parent | staging: vt6656: Include re_alloc_skb within lock. (diff) | |
download | kernel-qcow2-linux-71d764aefeb6010b496f2c47ea06d9389fa9b780.tar.gz kernel-qcow2-linux-71d764aefeb6010b496f2c47ea06d9389fa9b780.tar.xz kernel-qcow2-linux-71d764aefeb6010b496f2c47ea06d9389fa9b780.zip |
stagingL vt6656: implement fall back rates reporting.
The driver reports the rate tried in struct vnt_interrupt_data tsr* variables
which is available in INTnsProcessData via interrupt urb context.
Instead of closing apTD tx context in s_nsBulkOutIoCompleteWrite by setting
in_use to false. Keep the context open and allow vnt_int_report_rate to
close it.
If the tx_retry value is correct it will report back the sucessful RATE tried.
struct vnt_usb_send_context add pkt_no which is index of apTD
Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/vt6656/rxtx.c')
-rw-r--r-- | drivers/staging/vt6656/rxtx.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/staging/vt6656/rxtx.c b/drivers/staging/vt6656/rxtx.c index 95b6cf307af6..264e3c9b6412 100644 --- a/drivers/staging/vt6656/rxtx.c +++ b/drivers/staging/vt6656/rxtx.c @@ -1021,6 +1021,8 @@ int vnt_tx_packet(struct vnt_private *priv, struct sk_buff *skb) } } + tx_context->fb_option = fb_option; + duration_id = s_vGenerateTxParameter(tx_context, pkt_type, current_rate, tx_buffer, &mic_hdr, need_mic, frame_size, need_ack, NULL, need_rts); @@ -1050,8 +1052,7 @@ int vnt_tx_packet(struct vnt_private *priv, struct sk_buff *skb) IEEE80211_SCTL_SEQ) >> 4; tx_buffer->tx_byte_count = cpu_to_le16(tx_bytes); - tx_buffer->byPKTNO = (u8)(((current_rate << 4) & 0xf0) | - (priv->wSeqCounter & 0xf)); + tx_buffer->byPKTNO = tx_context->pkt_no; tx_buffer->byType = 0x00; tx_bytes += 4; @@ -1147,8 +1148,7 @@ static int vnt_beacon_xmit(struct vnt_private *priv, count = sizeof(struct vnt_tx_short_buf_head) + skb->len; beacon_buffer->tx_byte_count = cpu_to_le16(count); - beacon_buffer->byPKTNO = (u8)(((current_rate << 4) & 0xf0) | - ((priv->wSeqCounter - 1) & 0x000f)); + beacon_buffer->byPKTNO = context->pkt_no; beacon_buffer->byType = 0x01; context->type = CONTEXT_BEACON_PACKET; |