Commit a90186e4 authored by Malcolm Priestley's avatar Malcolm Priestley Committed by Greg Kroah-Hartman

staging: vt6656: rxtx.c add no rts struct vnt_tx_datahead_a_fb

Add no rts/cts vnt_tx_datahead_a_fb to union vnt_tx_data_head.

The need_mic now applies to all modes of packet type PK_TYPE_11A.

and return vnt_rxtx_datahead_a_fb in s_vGenerateTxParameter

This removes pvTxDataHd pointer assignment.
Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent bd3f51f1
...@@ -581,13 +581,6 @@ static u32 s_uFillDataHead(struct vnt_private *pDevice, ...@@ -581,13 +581,6 @@ static u32 s_uFillDataHead(struct vnt_private *pDevice,
} }
if (byPktType == PK_TYPE_11A) { if (byPktType == PK_TYPE_11A) {
if (byFBOption != AUTO_FB_NONE) {
struct vnt_tx_datahead_a_fb *pBuf =
(struct vnt_tx_datahead_a_fb *)pTxDataHead;
return vnt_rxtx_datahead_a_fb(pDevice, byPktType, wCurrentRate,
pBuf, cbFrameLength, bNeedAck);
} else {
struct vnt_tx_datahead_ab *pBuf = struct vnt_tx_datahead_ab *pBuf =
(struct vnt_tx_datahead_ab *)pTxDataHead; (struct vnt_tx_datahead_ab *)pTxDataHead;
//Get SignalField,ServiceField,Length //Get SignalField,ServiceField,Length
...@@ -599,7 +592,6 @@ static u32 s_uFillDataHead(struct vnt_private *pDevice, ...@@ -599,7 +592,6 @@ static u32 s_uFillDataHead(struct vnt_private *pDevice,
pBuf->wTimeStampOff = vnt_time_stamp_off(pDevice, pBuf->wTimeStampOff = vnt_time_stamp_off(pDevice,
wCurrentRate); wCurrentRate);
return (pBuf->wDuration); return (pBuf->wDuration);
}
} }
else if (byPktType == PK_TYPE_11B) { else if (byPktType == PK_TYPE_11B) {
struct vnt_tx_datahead_ab *pBuf = struct vnt_tx_datahead_ab *pBuf =
...@@ -940,6 +932,13 @@ static u16 s_vGenerateTxParameter(struct vnt_private *pDevice, ...@@ -940,6 +932,13 @@ static u16 s_vGenerateTxParameter(struct vnt_private *pDevice,
} }
} }
else if (byPktType == PK_TYPE_11A) { else if (byPktType == PK_TYPE_11A) {
if (need_mic) {
*mic_hdr = &tx_buffer->tx_head.tx_ab.tx.mic.hdr;
head = &tx_buffer->tx_head.tx_ab.tx.mic.head;
} else {
head = &tx_buffer->tx_head.tx_ab.tx.head;
}
if (need_rts) { if (need_rts) {
//Fill RsvTime //Fill RsvTime
struct vnt_rrv_time_ab *pBuf = &tx_buffer->tx_head.tx_ab.ab; struct vnt_rrv_time_ab *pBuf = &tx_buffer->tx_head.tx_ab.ab;
...@@ -949,13 +948,6 @@ static u16 s_vGenerateTxParameter(struct vnt_private *pDevice, ...@@ -949,13 +948,6 @@ static u16 s_vGenerateTxParameter(struct vnt_private *pDevice,
pBuf->wTxRrvTime = vnt_rxtx_rsvtime_le16(pDevice, byPktType, pBuf->wTxRrvTime = vnt_rxtx_rsvtime_le16(pDevice, byPktType,
cbFrameSize, wCurrentRate, bNeedACK); cbFrameSize, wCurrentRate, bNeedACK);
if (need_mic) {
*mic_hdr = &tx_buffer->tx_head.tx_ab.tx.mic.hdr;
head = &tx_buffer->tx_head.tx_ab.tx.mic.head;
} else {
head = &tx_buffer->tx_head.tx_ab.tx.head;
}
/* Fill RTS */ /* Fill RTS */
s_vFillRTSHead(pDevice, byPktType, head, cbFrameSize, s_vFillRTSHead(pDevice, byPktType, head, cbFrameSize,
bNeedACK, psEthHeader, wCurrentRate, byFBOption); bNeedACK, psEthHeader, wCurrentRate, byFBOption);
...@@ -963,11 +955,11 @@ static u16 s_vGenerateTxParameter(struct vnt_private *pDevice, ...@@ -963,11 +955,11 @@ static u16 s_vGenerateTxParameter(struct vnt_private *pDevice,
//Fill RsvTime //Fill RsvTime
struct vnt_rrv_time_ab *pBuf = &tx_buffer->tx_head.tx_ab.ab; struct vnt_rrv_time_ab *pBuf = &tx_buffer->tx_head.tx_ab.ab;
if (need_mic)
*mic_hdr = &tx_buffer->tx_head.tx_ab.tx.mic.hdr;
pBuf->wTxRrvTime = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11A, pBuf->wTxRrvTime = vnt_rxtx_rsvtime_le16(pDevice, PK_TYPE_11A,
cbFrameSize, wCurrentRate, bNeedACK); cbFrameSize, wCurrentRate, bNeedACK);
return vnt_rxtx_datahead_a_fb(pDevice, byPktType, wCurrentRate,
&head->data_head_a_fb, cbFrameSize, bNeedACK);
} }
} }
else if (byPktType == PK_TYPE_11B) { else if (byPktType == PK_TYPE_11B) {
...@@ -1209,8 +1201,6 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType, ...@@ -1209,8 +1201,6 @@ static int s_bPacketToWirelessUsb(struct vnt_private *pDevice, u8 byPktType,
cbMICHDR + sizeof(struct vnt_rts_a_fb); cbMICHDR + sizeof(struct vnt_rts_a_fb);
} }
else if (bRTS == false) { //RTS_needless else if (bRTS == false) { //RTS_needless
pvTxDataHd = (struct vnt_tx_datahead_a_fb *)(pbyTxBufferAddr +
wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbMICHDR);
cbHeaderLength = wTxBufSize + sizeof(struct vnt_rrv_time_ab) + cbHeaderLength = wTxBufSize + sizeof(struct vnt_rrv_time_ab) +
cbMICHDR + sizeof(struct vnt_tx_datahead_a_fb); cbMICHDR + sizeof(struct vnt_tx_datahead_a_fb);
} }
......
...@@ -183,6 +183,8 @@ union vnt_tx_data_head { ...@@ -183,6 +183,8 @@ union vnt_tx_data_head {
/* cts g */ /* cts g */
struct vnt_cts cts_g; struct vnt_cts cts_g;
struct vnt_cts_fb cts_g_fb; struct vnt_cts_fb cts_g_fb;
/* no rts/cts */
struct vnt_tx_datahead_a_fb data_head_a_fb;
}; };
struct vnt_tx_mic_hdr { struct vnt_tx_mic_hdr {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment