staging: vt6656: vnt_beacon_buffer attach mac header.
authorMalcolm Priestley <tvboxspy@gmail.com>
Sun, 24 Nov 2013 13:27:32 +0000 (13:27 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Nov 2013 20:41:43 +0000 (12:41 -0800)
Attach ieee80211_hdr to vnt_beacon_buffer and remove pointer arithmetic.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vt6656/rxtx.c
drivers/staging/vt6656/rxtx.h

index a45604a..723a8de 100644 (file)
@@ -1650,7 +1650,6 @@ CMD_STATUS csBeacon_xmit(struct vnt_private *pDevice,
        u16 wCurrentRate;
        u32 cbFrameBodySize;
        u32 cbReqCount;
-       u8 *pbyTxBufferAddr;
        struct vnt_usb_send_context *pContext;
        CMD_STATUS status;
 
@@ -1663,7 +1662,6 @@ CMD_STATUS csBeacon_xmit(struct vnt_private *pDevice,
 
        pTX_Buffer = (struct vnt_beacon_buffer *)&pContext->Data[0];
        short_head = &pTX_Buffer->short_head;
-       pbyTxBufferAddr = (u8 *)&short_head->fifo_ctl;
 
     cbFrameBodySize = pPacket->cbPayloadLen;
 
@@ -1697,15 +1695,16 @@ CMD_STATUS csBeacon_xmit(struct vnt_private *pDevice,
        }
 
 
-    //Generate Beacon Header
-    pMACHeader = (struct ieee80211_hdr *)(pbyTxBufferAddr + cbHeaderSize);
-    memcpy(pMACHeader, pPacket->p80211Header, pPacket->cbMPDULen);
+       /* Generate Beacon Header */
+       pMACHeader = &pTX_Buffer->hdr;
 
-    pMACHeader->duration_id = 0;
-    pMACHeader->seq_ctrl = cpu_to_le16(pDevice->wSeqCounter << 4);
-    pDevice->wSeqCounter++ ;
-    if (pDevice->wSeqCounter > 0x0fff)
-        pDevice->wSeqCounter = 0;
+       memcpy(pMACHeader, pPacket->p80211Header, pPacket->cbMPDULen);
+
+       pMACHeader->duration_id = 0;
+       pMACHeader->seq_ctrl = cpu_to_le16(pDevice->wSeqCounter << 4);
+       pDevice->wSeqCounter++;
+       if (pDevice->wSeqCounter > 0x0fff)
+               pDevice->wSeqCounter = 0;
 
     cbReqCount = cbHeaderSize + WLAN_HDR_ADDR3_LEN + cbFrameBodySize;
 
index bb21ad6..b3ee6d0 100644 (file)
@@ -243,6 +243,7 @@ struct vnt_beacon_buffer {
        u8 byPKTNO;
        u16 wTxByteCount;
        struct vnt_tx_short_buf_head short_head;
+       struct ieee80211_hdr hdr;
 } __packed;
 
 void vDMA0_tx_80211(struct vnt_private *, struct sk_buff *skb);