From: Malcolm Priestley Date: Sun, 24 Nov 2013 13:27:32 +0000 (+0000) Subject: staging: vt6656: vnt_beacon_buffer attach mac header. X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=0b71fe36c5fc6546ee6cd60bce2ba78a94f96353;p=linux-beck.git staging: vt6656: vnt_beacon_buffer attach mac header. Attach ieee80211_hdr to vnt_beacon_buffer and remove pointer arithmetic. Signed-off-by: Malcolm Priestley Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/vt6656/rxtx.c b/drivers/staging/vt6656/rxtx.c index a45604a4f81c..723a8de3a466 100644 --- a/drivers/staging/vt6656/rxtx.c +++ b/drivers/staging/vt6656/rxtx.c @@ -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; diff --git a/drivers/staging/vt6656/rxtx.h b/drivers/staging/vt6656/rxtx.h index bb21ad6ae226..b3ee6d01aa88 100644 --- a/drivers/staging/vt6656/rxtx.h +++ b/drivers/staging/vt6656/rxtx.h @@ -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);