}
         else { // DATA & MANAGE Frame
             if (byFBOption == AUTO_FB_NONE) {
-                PSTxDataHead_g pBuf = (PSTxDataHead_g)pTxDataHead;
+               struct vnt_tx_datahead_g *pBuf =
+                               (struct vnt_tx_datahead_g *)pTxDataHead;
                 //Get SignalField,ServiceField,Length
                 BBvCalculateParameter(pDevice, cbFrameLength, wCurrentRate, byPktType,
                     (u16 *)&(pBuf->wTransmitLength_a), (u8 *)&(pBuf->byServiceField_a), (u8 *)&(pBuf->bySignalField_a)
                pvRTS = (struct vnt_rts_g *) (pbyTxBufferAddr + wTxBufSize +
                                sizeof(struct vnt_rrv_time_rts) + cbMICHDR);
                 pvCTS = NULL;
-               pvTxDataHd = (PSTxDataHead_g) (pbyTxBufferAddr + wTxBufSize +
-                       sizeof(struct vnt_rrv_time_rts) + cbMICHDR +
-                                               sizeof(struct vnt_rts_g));
+               pvTxDataHd = (struct vnt_tx_datahead_g *) (pbyTxBufferAddr +
+                       wTxBufSize + sizeof(struct vnt_rrv_time_rts) +
+                               cbMICHDR + sizeof(struct vnt_rts_g));
                cbHeaderLength = wTxBufSize + sizeof(struct vnt_rrv_time_rts) +
                        cbMICHDR + sizeof(struct vnt_rts_g) +
-                               sizeof(STxDataHead_g);
+                               sizeof(struct vnt_tx_datahead_g);
             }
             else { //RTS_needless
                pvRrvTime = (struct vnt_rrv_time_cts *)
                 pvRTS = NULL;
                pvCTS = (struct vnt_cts *) (pbyTxBufferAddr + wTxBufSize +
                                sizeof(struct vnt_rrv_time_cts) + cbMICHDR);
-               pvTxDataHd = (PSTxDataHead_g) (pbyTxBufferAddr + wTxBufSize +
-                       sizeof(struct vnt_rrv_time_cts) + cbMICHDR +
-                                               sizeof(struct vnt_cts));
+               pvTxDataHd = (struct vnt_tx_datahead_g *)(pbyTxBufferAddr +
+                       wTxBufSize + sizeof(struct vnt_rrv_time_cts) +
+                               cbMICHDR + sizeof(struct vnt_cts));
                cbHeaderLength = wTxBufSize + sizeof(struct vnt_rrv_time_cts) +
                        cbMICHDR + sizeof(struct vnt_cts) +
-                               sizeof(STxDataHead_g);
+                               sizeof(struct vnt_tx_datahead_g);
             }
         } else {
             // Auto Fall Back
         pvRTS = NULL;
        pCTS = (struct vnt_cts *) (pbyTxBufferAddr + wTxBufSize +
                                        sizeof(struct vnt_rrv_time_cts));
-       pvTxDataHd = (PSTxDataHead_g) (pbyTxBufferAddr + wTxBufSize +
+       pvTxDataHd = (struct vnt_tx_datahead_g *)(pbyTxBufferAddr + wTxBufSize +
                sizeof(struct vnt_rrv_time_cts) + sizeof(struct vnt_cts));
        cbHeaderSize = wTxBufSize + sizeof(struct vnt_rrv_time_cts) +
-               sizeof(struct vnt_cts) + sizeof(STxDataHead_g);
+               sizeof(struct vnt_cts) + sizeof(struct vnt_tx_datahead_g);
     }
     else { // 802.11a/b packet
        pvRrvTime = (struct vnt_rrv_time_ab *) (pbyTxBufferAddr + wTxBufSize);
         // This will cause AID-field of PS-POLL packet be incorrect (Because PS-POLL's AID field is
         // in the same place of other packet's Duration-field).
         // And it will cause Cisco-AP to issue Disassociation-packet
-        if (byPktType == PK_TYPE_11GB || byPktType == PK_TYPE_11GA) {
-            ((PSTxDataHead_g)pvTxDataHd)->wDuration_a = cpu_to_le16(pPacket->p80211Header->sA2.wDurationID);
-            ((PSTxDataHead_g)pvTxDataHd)->wDuration_b = cpu_to_le16(pPacket->p80211Header->sA2.wDurationID);
-        } else {
+       if (byPktType == PK_TYPE_11GB || byPktType == PK_TYPE_11GA) {
+               ((struct vnt_tx_datahead_g *)pvTxDataHd)->wDuration_a =
+                       cpu_to_le16(pPacket->p80211Header->sA2.wDurationID);
+               ((struct vnt_tx_datahead_g *)pvTxDataHd)->wDuration_b =
+                       cpu_to_le16(pPacket->p80211Header->sA2.wDurationID);
+       } else {
             ((PSTxDataHead_ab)pvTxDataHd)->wDuration = cpu_to_le16(pPacket->p80211Header->sA2.wDurationID);
         }
     }
         pvRTS = NULL;
        pvCTS = (struct vnt_cts *) (pbyTxBufferAddr + wTxBufSize +
                        sizeof(struct vnt_rrv_time_cts) + cbMICHDR);
-       pvTxDataHd = (PSTxDataHead_g) (pbyTxBufferAddr + wTxBufSize +
-               sizeof(struct vnt_rrv_time_cts) + cbMICHDR +
+       pvTxDataHd = (struct vnt_tx_datahead_g *) (pbyTxBufferAddr +
+               wTxBufSize + sizeof(struct vnt_rrv_time_cts) + cbMICHDR +
                                        sizeof(struct vnt_cts));
        cbHeaderSize = wTxBufSize + sizeof(struct vnt_rrv_time_cts) + cbMICHDR +
-                               sizeof(struct vnt_cts) + sizeof(STxDataHead_g);
+               sizeof(struct vnt_cts) + sizeof(struct vnt_tx_datahead_g);
 
     }
     else {//802.11a/b packet
         // This will cause AID-field of PS-POLL packet be incorrect (Because PS-POLL's AID field is
         // in the same place of other packet's Duration-field).
         // And it will cause Cisco-AP to issue Disassociation-packet
-        if (byPktType == PK_TYPE_11GB || byPktType == PK_TYPE_11GA) {
-            ((PSTxDataHead_g)pvTxDataHd)->wDuration_a = cpu_to_le16(p80211Header->sA2.wDurationID);
-            ((PSTxDataHead_g)pvTxDataHd)->wDuration_b = cpu_to_le16(p80211Header->sA2.wDurationID);
-        } else {
+       if (byPktType == PK_TYPE_11GB || byPktType == PK_TYPE_11GA) {
+               ((struct vnt_tx_datahead_g *)pvTxDataHd)->wDuration_a =
+                       cpu_to_le16(p80211Header->sA2.wDurationID);
+               ((struct vnt_tx_datahead_g *)pvTxDataHd)->wDuration_b =
+                       cpu_to_le16(p80211Header->sA2.wDurationID);
+       } else {
             ((PSTxDataHead_ab)pvTxDataHd)->wDuration = cpu_to_le16(p80211Header->sA2.wDurationID);
         }
     }