diff options
author | Malcolm Priestley <tvboxspy@gmail.com> | 2013-08-27 14:48:34 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-08-28 03:54:39 +0400 |
commit | 27df3ebf363bc1a63ab2356975848a07fb2229dc (patch) | |
tree | 73e27f02cd620936789a9166630e00955c7e13da /drivers/staging | |
parent | 43e48a4a8bc7a2f68c3bd932739e927851aec7a1 (diff) | |
download | linux-27df3ebf363bc1a63ab2356975848a07fb2229dc.tar.xz |
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: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging')
-rw-r--r-- | drivers/staging/vt6656/rxtx.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/staging/vt6656/rxtx.c b/drivers/staging/vt6656/rxtx.c index 98224bc3ea5f..fd3c59824152 100644 --- a/drivers/staging/vt6656/rxtx.c +++ b/drivers/staging/vt6656/rxtx.c @@ -760,15 +760,15 @@ static void s_vFillCTSHead(struct vnt_private *pDevice, u32 uDMAIdx, u8 byPktType, void *pvCTS, u32 cbFrameLength, int bNeedAck, u16 wCurrentRate, u8 byFBOption) { + union vnt_tx_data_head *head = pvCTS; u32 uCTSFrameLen = 14; - if (pvCTS == NULL) { - return; - } + if (!head) + return; if (byFBOption != AUTO_FB_NONE) { /* 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 */ BBvCalculateParameter(pDevice, uCTSFrameLen, pDevice->byTopCCKBasicRate, PK_TYPE_11B, &pBuf->b); @@ -788,7 +788,7 @@ static void s_vFillCTSHead(struct vnt_private *pDevice, u32 uDMAIdx, pBuf->data.frame_control = TYPE_CTL_CTS; memcpy(pBuf->data.ra, pDevice->abyCurrentNetAddr, ETH_ALEN); } else { - struct vnt_cts *pBuf = (struct vnt_cts *)pvCTS; + struct vnt_cts *pBuf = &head->cts_g; /* Get SignalField,ServiceField,Length */ BBvCalculateParameter(pDevice, uCTSFrameLen, pDevice->byTopCCKBasicRate, PK_TYPE_11B, &pBuf->b); |