]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/staging/vt6655/rxtx.c
staging: vt6655: rxtx create new structure vnt_tx_short_buf_head for csBeacon_xmit
[karo-tx-linux.git] / drivers / staging / vt6655 / rxtx.c
index 04cf9e9ba08efa050415945846fbab3a2c6412b3..7493db195e3579758216f50bd451502ed5ecfa3c 100644 (file)
@@ -2334,13 +2334,12 @@ CMD_STATUS csBeacon_xmit(struct vnt_private *pDevice, PSTxMgmtPacket pPacket)
        unsigned char *pbyBuffer = (unsigned char *)pDevice->tx_beacon_bufs;
        unsigned int cbFrameSize = pPacket->cbMPDULen + WLAN_FCS_LEN;
        unsigned int cbHeaderSize = 0;
-       unsigned short wTxBufSize = sizeof(STxShortBufHead);
-       PSTxShortBufHead pTxBufHead = (PSTxShortBufHead) pbyBuffer;
-       PSTxDataHead_ab  pTxDataHead = (PSTxDataHead_ab) (pbyBuffer + wTxBufSize);
+       struct vnt_tx_short_buf_head *short_head =
+                               (struct vnt_tx_short_buf_head *)pbyBuffer;
        PS802_11Header   pMACHeader;
        unsigned short wCurrentRate;
 
-       memset(pTxBufHead, 0, wTxBufSize);
+       memset(short_head, 0, sizeof(*short_head));
 
        if (pDevice->eCurrentPHYType == PHY_TYPE_11A) {
                wCurrentRate = RATE_6M;
@@ -2353,26 +2352,30 @@ CMD_STATUS csBeacon_xmit(struct vnt_private *pDevice, PSTxMgmtPacket pPacket)
        //Set Preamble type always long
        pDevice->byPreambleType = PREAMBLE_LONG;
 
-       //Set FIFOCTL_GENINT
-
-       pTxBufHead->wFIFOCtl |= FIFOCTL_GENINT;
+       /* Set FIFOCTL_GENINT */
+       short_head->fifo_ctl |= cpu_to_le16(FIFOCTL_GENINT);
 
-       //Set packet type & Get Duration
+       /* Set packet type & Get Duration */
        if (byPktType == PK_TYPE_11A) {//0000 0000 0000 0000
-               pTxDataHead->wDuration = cpu_to_le16((unsigned short)s_uGetDataDuration(pDevice, DATADUR_A, cbFrameSize, byPktType,
-                                                                                       wCurrentRate, false, 0, 0, 1, AUTO_FB_NONE));
+               short_head->duration =
+                       cpu_to_le16((u16)s_uGetDataDuration(pDevice, DATADUR_A,
+                                   cbFrameSize, byPktType, wCurrentRate, false,
+                                   0, 0, 1, AUTO_FB_NONE));
        } else if (byPktType == PK_TYPE_11B) {//0000 0001 0000 0000
-               pTxBufHead->wFIFOCtl |= FIFOCTL_11B;
-               pTxDataHead->wDuration = cpu_to_le16((unsigned short)s_uGetDataDuration(pDevice, DATADUR_B, cbFrameSize, byPktType,
-                                                                                       wCurrentRate, false, 0, 0, 1, AUTO_FB_NONE));
+               short_head->fifo_ctl |= cpu_to_le16(FIFOCTL_11B);
+
+               short_head->duration =
+                       cpu_to_le16((u16)s_uGetDataDuration(pDevice, DATADUR_B,
+                                   cbFrameSize, byPktType, wCurrentRate, false,
+                                   0, 0, 1, AUTO_FB_NONE));
        }
 
        vnt_get_phy_field(pDevice, cbFrameSize,
-                         wCurrentRate, byPktType, &pTxDataHead->ab);
+                         wCurrentRate, byPktType, &short_head->ab);
 
-       //Get TimeStampOff
-       pTxDataHead->wTimeStampOff = cpu_to_le16(wTimeStampOff[pDevice->byPreambleType%2][wCurrentRate%MAX_RATE]);
-       cbHeaderSize = wTxBufSize + sizeof(STxDataHead_ab);
+       /* Get TimeStampOff */
+       short_head->time_stamp_off = cpu_to_le16(wTimeStampOff[pDevice->byPreambleType%2][wCurrentRate%MAX_RATE]);
+       cbHeaderSize = sizeof(struct vnt_tx_short_buf_head);
 
        //Generate Beacon Header
        pMACHeader = (PS802_11Header)(pbyBuffer + cbHeaderSize);