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

staging: vt6656: s_vFillCTSHead join structures of vnt_cts* to union vnt_tx_data_head

Only one of vnt_rts*/vnt_cts* structures are accessed at any one time.

structures vnt_cts and vnt_cts_fb are members of union vnt_tx_data_head.

Create pointer union head and point structures to the correct member.

Point the union to pvCTS.
Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 43e48a4a
...@@ -760,15 +760,15 @@ static void s_vFillCTSHead(struct vnt_private *pDevice, u32 uDMAIdx, ...@@ -760,15 +760,15 @@ static void s_vFillCTSHead(struct vnt_private *pDevice, u32 uDMAIdx,
u8 byPktType, void *pvCTS, u32 cbFrameLength, int bNeedAck, u8 byPktType, void *pvCTS, u32 cbFrameLength, int bNeedAck,
u16 wCurrentRate, u8 byFBOption) u16 wCurrentRate, u8 byFBOption)
{ {
union vnt_tx_data_head *head = pvCTS;
u32 uCTSFrameLen = 14; u32 uCTSFrameLen = 14;
if (pvCTS == NULL) { if (!head)
return; return;
}
if (byFBOption != AUTO_FB_NONE) { if (byFBOption != AUTO_FB_NONE) {
/* Auto Fall back */ /* Auto Fall back */
struct vnt_cts_fb *pBuf = (struct vnt_cts_fb *)pvCTS; struct vnt_cts_fb *pBuf = &head->cts_g_fb;
/* Get SignalField,ServiceField,Length */ /* Get SignalField,ServiceField,Length */
BBvCalculateParameter(pDevice, uCTSFrameLen, BBvCalculateParameter(pDevice, uCTSFrameLen,
pDevice->byTopCCKBasicRate, PK_TYPE_11B, &pBuf->b); pDevice->byTopCCKBasicRate, PK_TYPE_11B, &pBuf->b);
...@@ -788,7 +788,7 @@ static void s_vFillCTSHead(struct vnt_private *pDevice, u32 uDMAIdx, ...@@ -788,7 +788,7 @@ static void s_vFillCTSHead(struct vnt_private *pDevice, u32 uDMAIdx,
pBuf->data.frame_control = TYPE_CTL_CTS; pBuf->data.frame_control = TYPE_CTL_CTS;
memcpy(pBuf->data.ra, pDevice->abyCurrentNetAddr, ETH_ALEN); memcpy(pBuf->data.ra, pDevice->abyCurrentNetAddr, ETH_ALEN);
} else { } else {
struct vnt_cts *pBuf = (struct vnt_cts *)pvCTS; struct vnt_cts *pBuf = &head->cts_g;
/* Get SignalField,ServiceField,Length */ /* Get SignalField,ServiceField,Length */
BBvCalculateParameter(pDevice, uCTSFrameLen, BBvCalculateParameter(pDevice, uCTSFrameLen,
pDevice->byTopCCKBasicRate, PK_TYPE_11B, &pBuf->b); pDevice->byTopCCKBasicRate, PK_TYPE_11B, &pBuf->b);
......
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