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

staging: vt6655: replace typedef struct tagSTxDataHead_g with struct vnt_tx_datahead_g

Replace members
b, a, wDuration_b, wDuration_a, wTimeStampOff_b and wTimeStampOff_a
with
b, a, duration_b, duration_a, time_stamp_off_b and time_stamp_off_a

Using __le16 endian type for unsigned short.

Creating the new structure in rxtx.h
Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d6b95c06
...@@ -459,17 +459,6 @@ typedef const STxBufHead *PCSTxBufHead; ...@@ -459,17 +459,6 @@ typedef const STxBufHead *PCSTxBufHead;
// //
// Tx data header // Tx data header
// //
typedef struct tagSTxDataHead_g {
struct vnt_phy_field b;
struct vnt_phy_field a;
unsigned short wDuration_b;
unsigned short wDuration_a;
unsigned short wTimeStampOff_b;
unsigned short wTimeStampOff_a;
} __attribute__ ((__packed__))
STxDataHead_g, *PSTxDataHead_g;
typedef const STxDataHead_g *PCSTxDataHead_g;
typedef struct tagSTxDataHead_g_FB { typedef struct tagSTxDataHead_g_FB {
struct vnt_phy_field b; struct vnt_phy_field b;
struct vnt_phy_field a; struct vnt_phy_field a;
......
...@@ -693,29 +693,29 @@ s_uFillDataHead( ...@@ -693,29 +693,29 @@ s_uFillDataHead(
if (byPktType == PK_TYPE_11GB || byPktType == PK_TYPE_11GA) { if (byPktType == PK_TYPE_11GB || byPktType == PK_TYPE_11GA) {
if (byFBOption == AUTO_FB_NONE) { if (byFBOption == AUTO_FB_NONE) {
PSTxDataHead_g pBuf = (PSTxDataHead_g)pTxDataHead; struct vnt_tx_datahead_g *buf = pTxDataHead;
/* Get SignalField, ServiceField & Length */ /* Get SignalField, ServiceField & Length */
vnt_get_phy_field(pDevice, cbFrameLength, wCurrentRate, vnt_get_phy_field(pDevice, cbFrameLength, wCurrentRate,
byPktType, &pBuf->a); byPktType, &buf->a);
vnt_get_phy_field(pDevice, cbFrameLength, vnt_get_phy_field(pDevice, cbFrameLength,
pDevice->byTopCCKBasicRate, pDevice->byTopCCKBasicRate,
PK_TYPE_11B, &pBuf->b); PK_TYPE_11B, &buf->b);
//Get Duration and TimeStamp /* Get Duration and TimeStamp */
pBuf->wDuration_a = cpu_to_le16((unsigned short)s_uGetDataDuration(pDevice, DATADUR_A, cbFrameLength, buf->duration_a = cpu_to_le16((u16)s_uGetDataDuration(pDevice, DATADUR_A, cbFrameLength,
byPktType, wCurrentRate, bNeedAck, uFragIdx, byPktType, wCurrentRate, bNeedAck, uFragIdx,
cbLastFragmentSize, uMACfragNum, cbLastFragmentSize, uMACfragNum,
byFBOption)); //1: 2.4GHz byFBOption));
pBuf->wDuration_b = cpu_to_le16((unsigned short)s_uGetDataDuration(pDevice, DATADUR_B, cbFrameLength, buf->duration_b = cpu_to_le16((u16)s_uGetDataDuration(pDevice, DATADUR_B, cbFrameLength,
PK_TYPE_11B, pDevice->byTopCCKBasicRate, PK_TYPE_11B, pDevice->byTopCCKBasicRate,
bNeedAck, uFragIdx, cbLastFragmentSize, bNeedAck, uFragIdx, cbLastFragmentSize,
uMACfragNum, byFBOption)); //1: 2.4 uMACfragNum, byFBOption));
pBuf->wTimeStampOff_a = vnt_time_stamp_off(pDevice, wCurrentRate); buf->time_stamp_off_a = vnt_time_stamp_off(pDevice, wCurrentRate);
pBuf->wTimeStampOff_b = vnt_time_stamp_off(pDevice, pDevice->byTopCCKBasicRate); buf->time_stamp_off_b = vnt_time_stamp_off(pDevice, pDevice->byTopCCKBasicRate);
return pBuf->wDuration_a; return buf->duration_a;
} else { } else {
// Auto Fallback // Auto Fallback
PSTxDataHead_g_FB pBuf = (PSTxDataHead_g_FB)pTxDataHead; PSTxDataHead_g_FB pBuf = (PSTxDataHead_g_FB)pTxDataHead;
...@@ -1316,15 +1316,17 @@ s_cbFillTxBufHead(struct vnt_private *pDevice, unsigned char byPktType, ...@@ -1316,15 +1316,17 @@ s_cbFillTxBufHead(struct vnt_private *pDevice, unsigned char byPktType,
pMICHDR = (struct vnt_mic_hdr *)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_rts)); pMICHDR = (struct vnt_mic_hdr *)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_rts));
pvRTS = (PSRTS_g)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_rts) + cbMICHDR); pvRTS = (PSRTS_g)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_rts) + cbMICHDR);
pvCTS = NULL; pvCTS = NULL;
pvTxDataHd = (PSTxDataHead_g)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_rts) + cbMICHDR + sizeof(SRTS_g)); pvTxDataHd = (void *)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_rts) + cbMICHDR + sizeof(SRTS_g));
cbHeaderLength = wTxBufSize + sizeof(struct vnt_rrv_time_rts) + cbMICHDR + sizeof(SRTS_g) + sizeof(STxDataHead_g); cbHeaderLength = wTxBufSize + sizeof(struct vnt_rrv_time_rts) +
cbMICHDR + sizeof(SRTS_g) + sizeof(struct vnt_tx_datahead_g);
} else { //RTS_needless } else { //RTS_needless
pvRrvTime = (void *)(pbyTxBufferAddr + wTxBufSize); pvRrvTime = (void *)(pbyTxBufferAddr + wTxBufSize);
pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_cts)); pMICHDR = (struct vnt_mic_hdr *) (pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_cts));
pvRTS = NULL; pvRTS = NULL;
pvCTS = (PSCTS) (pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_cts) + cbMICHDR); pvCTS = (PSCTS) (pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_cts) + cbMICHDR);
pvTxDataHd = (PSTxDataHead_g) (pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_cts) + cbMICHDR + sizeof(SCTS)); pvTxDataHd = (void *)(pbyTxBufferAddr + wTxBufSize + sizeof(struct vnt_rrv_time_cts) + cbMICHDR + sizeof(SCTS));
cbHeaderLength = wTxBufSize + sizeof(struct vnt_rrv_time_cts) + cbMICHDR + sizeof(SCTS) + sizeof(STxDataHead_g); cbHeaderLength = wTxBufSize + sizeof(struct vnt_rrv_time_cts) +
cbMICHDR + sizeof(SCTS) + sizeof(struct vnt_tx_datahead_g);
} }
} else { } else {
// Auto Fall Back // Auto Fall Back
...@@ -2188,10 +2190,10 @@ CMD_STATUS csMgmt_xmit(struct vnt_private *pDevice, PSTxMgmtPacket pPacket) ...@@ -2188,10 +2190,10 @@ CMD_STATUS csMgmt_xmit(struct vnt_private *pDevice, PSTxMgmtPacket pPacket)
pvRTS = NULL; pvRTS = NULL;
pCTS = (PSCTS) (pbyTxBufferAddr + wTxBufSize + pCTS = (PSCTS) (pbyTxBufferAddr + wTxBufSize +
sizeof(struct vnt_rrv_time_cts)); sizeof(struct vnt_rrv_time_cts));
pvTxDataHd = (PSTxDataHead_g) (pbyTxBufferAddr + wTxBufSize + pvTxDataHd = (void *)(pbyTxBufferAddr + wTxBufSize +
sizeof(struct vnt_rrv_time_cts) + sizeof(SCTS)); sizeof(struct vnt_rrv_time_cts) + sizeof(SCTS));
cbHeaderSize = wTxBufSize + sizeof(struct vnt_rrv_time_cts) + cbHeaderSize = wTxBufSize + sizeof(struct vnt_rrv_time_cts) +
sizeof(SCTS) + sizeof(STxDataHead_g); sizeof(SCTS) + sizeof(struct vnt_tx_datahead_g);
} else { // 802.11a/b packet } else { // 802.11a/b packet
pvRrvTime = (void *)(pbyTxBufferAddr + wTxBufSize); pvRrvTime = (void *)(pbyTxBufferAddr + wTxBufSize);
pMICHDR = NULL; pMICHDR = NULL;
...@@ -2290,8 +2292,8 @@ CMD_STATUS csMgmt_xmit(struct vnt_private *pDevice, PSTxMgmtPacket pPacket) ...@@ -2290,8 +2292,8 @@ CMD_STATUS csMgmt_xmit(struct vnt_private *pDevice, PSTxMgmtPacket pPacket)
// in the same place of other packet's Duration-field). // in the same place of other packet's Duration-field).
// And it will cause Cisco-AP to issue Disassociation-packet // And it will cause Cisco-AP to issue Disassociation-packet
if (byPktType == PK_TYPE_11GB || byPktType == PK_TYPE_11GA) { if (byPktType == PK_TYPE_11GB || byPktType == PK_TYPE_11GA) {
((PSTxDataHead_g)pvTxDataHd)->wDuration_a = cpu_to_le16(pPacket->p80211Header->sA2.wDurationID); ((struct vnt_tx_datahead_g *)pvTxDataHd)->duration_a = cpu_to_le16(pPacket->p80211Header->sA2.wDurationID);
((PSTxDataHead_g)pvTxDataHd)->wDuration_b = cpu_to_le16(pPacket->p80211Header->sA2.wDurationID); ((struct vnt_tx_datahead_g *)pvTxDataHd)->duration_b = cpu_to_le16(pPacket->p80211Header->sA2.wDurationID);
} else { } else {
((PSTxDataHead_ab)pvTxDataHd)->wDuration = cpu_to_le16(pPacket->p80211Header->sA2.wDurationID); ((PSTxDataHead_ab)pvTxDataHd)->wDuration = cpu_to_le16(pPacket->p80211Header->sA2.wDurationID);
} }
...@@ -2676,10 +2678,10 @@ void vDMA0_tx_80211(struct vnt_private *pDevice, struct sk_buff *skb, ...@@ -2676,10 +2678,10 @@ void vDMA0_tx_80211(struct vnt_private *pDevice, struct sk_buff *skb,
pvRTS = NULL; pvRTS = NULL;
pvCTS = (PSCTS) (pbyTxBufferAddr + wTxBufSize + pvCTS = (PSCTS) (pbyTxBufferAddr + wTxBufSize +
sizeof(struct vnt_rrv_time_cts) + cbMICHDR); sizeof(struct vnt_rrv_time_cts) + cbMICHDR);
pvTxDataHd = (PSTxDataHead_g) (pbyTxBufferAddr + wTxBufSize + pvTxDataHd = (void *)(pbyTxBufferAddr + wTxBufSize +
sizeof(struct vnt_rrv_time_cts) + cbMICHDR + sizeof(SCTS)); sizeof(struct vnt_rrv_time_cts) + cbMICHDR + sizeof(SCTS));
cbHeaderSize = wTxBufSize + sizeof(struct vnt_rrv_time_cts) + cbHeaderSize = wTxBufSize + sizeof(struct vnt_rrv_time_cts) +
cbMICHDR + sizeof(SCTS) + sizeof(STxDataHead_g); cbMICHDR + sizeof(SCTS) + sizeof(struct vnt_tx_datahead_g);
} else {//802.11a/b packet } else {//802.11a/b packet
...@@ -2816,8 +2818,8 @@ void vDMA0_tx_80211(struct vnt_private *pDevice, struct sk_buff *skb, ...@@ -2816,8 +2818,8 @@ void vDMA0_tx_80211(struct vnt_private *pDevice, struct sk_buff *skb,
// in the same place of other packet's Duration-field). // in the same place of other packet's Duration-field).
// And it will cause Cisco-AP to issue Disassociation-packet // And it will cause Cisco-AP to issue Disassociation-packet
if (byPktType == PK_TYPE_11GB || byPktType == PK_TYPE_11GA) { if (byPktType == PK_TYPE_11GB || byPktType == PK_TYPE_11GA) {
((PSTxDataHead_g)pvTxDataHd)->wDuration_a = cpu_to_le16(p80211Header->sA2.wDurationID); ((struct vnt_tx_datahead_g *)pvTxDataHd)->duration_a = cpu_to_le16(p80211Header->sA2.wDurationID);
((PSTxDataHead_g)pvTxDataHd)->wDuration_b = cpu_to_le16(p80211Header->sA2.wDurationID); ((struct vnt_tx_datahead_g *)pvTxDataHd)->duration_b = cpu_to_le16(p80211Header->sA2.wDurationID);
} else { } else {
((PSTxDataHead_ab)pvTxDataHd)->wDuration = cpu_to_le16(p80211Header->sA2.wDurationID); ((PSTxDataHead_ab)pvTxDataHd)->wDuration = cpu_to_le16(p80211Header->sA2.wDurationID);
} }
......
...@@ -78,6 +78,16 @@ struct vnt_rrv_time_ab { ...@@ -78,6 +78,16 @@ struct vnt_rrv_time_ab {
__le16 rrv_time; __le16 rrv_time;
} __packed; } __packed;
/* TX data header */
struct vnt_tx_datahead_g {
struct vnt_phy_field b;
struct vnt_phy_field a;
__le16 duration_b;
__le16 duration_a;
__le16 time_stamp_off_b;
__le16 time_stamp_off_a;
} __packed;
struct vnt_tx_short_buf_head { struct vnt_tx_short_buf_head {
__le16 fifo_ctl; __le16 fifo_ctl;
u16 time_stamp; u16 time_stamp;
......
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