staging: vt6656: rxtx.c s_vFillTxKey clean up format and white space.
Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
5fb8e412ab
commit
95bfb1ae0d
1 changed files with 92 additions and 81 deletions
|
@ -190,95 +190,106 @@ static void s_vFillTxKey(struct vnt_private *pDevice, u8 *pbyBuf,
|
||||||
struct ieee80211_hdr *pMACHeader = (struct ieee80211_hdr *)pbyHdrBuf;
|
struct ieee80211_hdr *pMACHeader = (struct ieee80211_hdr *)pbyHdrBuf;
|
||||||
u32 dwRevIVCounter;
|
u32 dwRevIVCounter;
|
||||||
|
|
||||||
//Fill TXKEY
|
/* Fill TXKEY */
|
||||||
if (pTransmitKey == NULL)
|
if (pTransmitKey == NULL)
|
||||||
return;
|
|
||||||
|
|
||||||
dwRevIVCounter = cpu_to_le32(pDevice->dwIVCounter);
|
|
||||||
*pdwIV = pDevice->dwIVCounter;
|
|
||||||
pDevice->byKeyIndex = pTransmitKey->dwKeyIndex & 0xf;
|
|
||||||
|
|
||||||
if (pTransmitKey->byCipherSuite == KEY_CTL_WEP) {
|
|
||||||
if (pTransmitKey->uKeyLength == WLAN_WEP232_KEYLEN ){
|
|
||||||
memcpy(pDevice->abyPRNG, (u8 *)&(dwRevIVCounter), 3);
|
|
||||||
memcpy(pDevice->abyPRNG+3, pTransmitKey->abyKey, pTransmitKey->uKeyLength);
|
|
||||||
} else {
|
|
||||||
memcpy(pbyBuf, (u8 *)&(dwRevIVCounter), 3);
|
|
||||||
memcpy(pbyBuf+3, pTransmitKey->abyKey, pTransmitKey->uKeyLength);
|
|
||||||
if(pTransmitKey->uKeyLength == WLAN_WEP40_KEYLEN) {
|
|
||||||
memcpy(pbyBuf+8, (u8 *)&(dwRevIVCounter), 3);
|
|
||||||
memcpy(pbyBuf+11, pTransmitKey->abyKey, pTransmitKey->uKeyLength);
|
|
||||||
}
|
|
||||||
memcpy(pDevice->abyPRNG, pbyBuf, 16);
|
|
||||||
}
|
|
||||||
// Append IV after Mac Header
|
|
||||||
*pdwIV &= WEP_IV_MASK;//00000000 11111111 11111111 11111111
|
|
||||||
*pdwIV |= (u32)pDevice->byKeyIndex << 30;
|
|
||||||
*pdwIV = cpu_to_le32(*pdwIV);
|
|
||||||
pDevice->dwIVCounter++;
|
|
||||||
if (pDevice->dwIVCounter > WEP_IV_MASK) {
|
|
||||||
pDevice->dwIVCounter = 0;
|
|
||||||
}
|
|
||||||
} else if (pTransmitKey->byCipherSuite == KEY_CTL_TKIP) {
|
|
||||||
pTransmitKey->wTSC15_0++;
|
|
||||||
if (pTransmitKey->wTSC15_0 == 0) {
|
|
||||||
pTransmitKey->dwTSC47_16++;
|
|
||||||
}
|
|
||||||
TKIPvMixKey(pTransmitKey->abyKey, pDevice->abyCurrentNetAddr,
|
|
||||||
pTransmitKey->wTSC15_0, pTransmitKey->dwTSC47_16, pDevice->abyPRNG);
|
|
||||||
memcpy(pbyBuf, pDevice->abyPRNG, 16);
|
|
||||||
// Make IV
|
|
||||||
memcpy(pdwIV, pDevice->abyPRNG, 3);
|
|
||||||
|
|
||||||
*(pbyIVHead+3) = (u8)(((pDevice->byKeyIndex << 6) & 0xc0) | 0x20); // 0x20 is ExtIV
|
|
||||||
// Append IV&ExtIV after Mac Header
|
|
||||||
*pdwExtIV = cpu_to_le32(pTransmitKey->dwTSC47_16);
|
|
||||||
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"vFillTxKey()---- pdwExtIV: %x\n",
|
|
||||||
*pdwExtIV);
|
|
||||||
|
|
||||||
} else if (pTransmitKey->byCipherSuite == KEY_CTL_CCMP) {
|
|
||||||
pTransmitKey->wTSC15_0++;
|
|
||||||
if (pTransmitKey->wTSC15_0 == 0) {
|
|
||||||
pTransmitKey->dwTSC47_16++;
|
|
||||||
}
|
|
||||||
memcpy(pbyBuf, pTransmitKey->abyKey, 16);
|
|
||||||
|
|
||||||
// Make IV
|
|
||||||
*pdwIV = 0;
|
|
||||||
*(pbyIVHead+3) = (u8)(((pDevice->byKeyIndex << 6) & 0xc0) | 0x20); // 0x20 is ExtIV
|
|
||||||
*pdwIV |= cpu_to_le16((u16)(pTransmitKey->wTSC15_0));
|
|
||||||
//Append IV&ExtIV after Mac Header
|
|
||||||
*pdwExtIV = cpu_to_le32(pTransmitKey->dwTSC47_16);
|
|
||||||
|
|
||||||
if (!mic_hdr)
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* MICHDR0 */
|
dwRevIVCounter = cpu_to_le32(pDevice->dwIVCounter);
|
||||||
mic_hdr->id = 0x59;
|
*pdwIV = pDevice->dwIVCounter;
|
||||||
mic_hdr->payload_len = cpu_to_be16(wPayloadLen);
|
pDevice->byKeyIndex = pTransmitKey->dwKeyIndex & 0xf;
|
||||||
memcpy(mic_hdr->mic_addr2, pMACHeader->addr2, ETH_ALEN);
|
|
||||||
|
|
||||||
mic_hdr->tsc_47_16 = cpu_to_be32(pTransmitKey->dwTSC47_16);
|
if (pTransmitKey->byCipherSuite == KEY_CTL_WEP) {
|
||||||
mic_hdr->tsc_15_0 = cpu_to_be16(pTransmitKey->wTSC15_0);
|
if (pTransmitKey->uKeyLength == WLAN_WEP232_KEYLEN) {
|
||||||
|
memcpy(pDevice->abyPRNG, (u8 *)&dwRevIVCounter, 3);
|
||||||
|
memcpy(pDevice->abyPRNG + 3, pTransmitKey->abyKey,
|
||||||
|
pTransmitKey->uKeyLength);
|
||||||
|
} else {
|
||||||
|
memcpy(pbyBuf, (u8 *)&dwRevIVCounter, 3);
|
||||||
|
memcpy(pbyBuf + 3, pTransmitKey->abyKey,
|
||||||
|
pTransmitKey->uKeyLength);
|
||||||
|
if (pTransmitKey->uKeyLength == WLAN_WEP40_KEYLEN) {
|
||||||
|
memcpy(pbyBuf+8, (u8 *)&dwRevIVCounter, 3);
|
||||||
|
memcpy(pbyBuf+11, pTransmitKey->abyKey,
|
||||||
|
pTransmitKey->uKeyLength);
|
||||||
|
}
|
||||||
|
|
||||||
/* MICHDR1 */
|
memcpy(pDevice->abyPRNG, pbyBuf, 16);
|
||||||
if (pDevice->bLongHeader)
|
}
|
||||||
mic_hdr->hlen = cpu_to_be16(28);
|
/* Append IV after Mac Header */
|
||||||
else
|
*pdwIV &= WEP_IV_MASK;
|
||||||
mic_hdr->hlen = cpu_to_be16(22);
|
*pdwIV |= (u32)pDevice->byKeyIndex << 30;
|
||||||
|
*pdwIV = cpu_to_le32(*pdwIV);
|
||||||
|
|
||||||
memcpy(mic_hdr->addr1, pMACHeader->addr1, ETH_ALEN);
|
pDevice->dwIVCounter++;
|
||||||
memcpy(mic_hdr->addr2, pMACHeader->addr2, ETH_ALEN);
|
if (pDevice->dwIVCounter > WEP_IV_MASK)
|
||||||
|
pDevice->dwIVCounter = 0;
|
||||||
|
} else if (pTransmitKey->byCipherSuite == KEY_CTL_TKIP) {
|
||||||
|
pTransmitKey->wTSC15_0++;
|
||||||
|
if (pTransmitKey->wTSC15_0 == 0)
|
||||||
|
pTransmitKey->dwTSC47_16++;
|
||||||
|
|
||||||
/* MICHDR2 */
|
TKIPvMixKey(pTransmitKey->abyKey, pDevice->abyCurrentNetAddr,
|
||||||
memcpy(mic_hdr->addr3, pMACHeader->addr3, ETH_ALEN);
|
pTransmitKey->wTSC15_0, pTransmitKey->dwTSC47_16,
|
||||||
mic_hdr->frame_control = cpu_to_le16(pMACHeader->frame_control
|
pDevice->abyPRNG);
|
||||||
|
memcpy(pbyBuf, pDevice->abyPRNG, 16);
|
||||||
|
|
||||||
|
/* Make IV */
|
||||||
|
memcpy(pdwIV, pDevice->abyPRNG, 3);
|
||||||
|
|
||||||
|
*(pbyIVHead+3) = (u8)(((pDevice->byKeyIndex << 6) &
|
||||||
|
0xc0) | 0x20);
|
||||||
|
/* Append IV&ExtIV after Mac Header */
|
||||||
|
*pdwExtIV = cpu_to_le32(pTransmitKey->dwTSC47_16);
|
||||||
|
|
||||||
|
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO
|
||||||
|
"vFillTxKey()---- pdwExtIV: %x\n", *pdwExtIV);
|
||||||
|
|
||||||
|
} else if (pTransmitKey->byCipherSuite == KEY_CTL_CCMP) {
|
||||||
|
pTransmitKey->wTSC15_0++;
|
||||||
|
if (pTransmitKey->wTSC15_0 == 0)
|
||||||
|
pTransmitKey->dwTSC47_16++;
|
||||||
|
|
||||||
|
memcpy(pbyBuf, pTransmitKey->abyKey, 16);
|
||||||
|
|
||||||
|
/* Make IV */
|
||||||
|
*pdwIV = 0;
|
||||||
|
*(pbyIVHead+3) = (u8)(((pDevice->byKeyIndex << 6) &
|
||||||
|
0xc0) | 0x20);
|
||||||
|
|
||||||
|
*pdwIV |= cpu_to_le16((u16)(pTransmitKey->wTSC15_0));
|
||||||
|
|
||||||
|
/* Append IV&ExtIV after Mac Header */
|
||||||
|
*pdwExtIV = cpu_to_le32(pTransmitKey->dwTSC47_16);
|
||||||
|
|
||||||
|
if (!mic_hdr)
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* MICHDR0 */
|
||||||
|
mic_hdr->id = 0x59;
|
||||||
|
mic_hdr->payload_len = cpu_to_be16(wPayloadLen);
|
||||||
|
memcpy(mic_hdr->mic_addr2, pMACHeader->addr2, ETH_ALEN);
|
||||||
|
|
||||||
|
mic_hdr->tsc_47_16 = cpu_to_be32(pTransmitKey->dwTSC47_16);
|
||||||
|
mic_hdr->tsc_15_0 = cpu_to_be16(pTransmitKey->wTSC15_0);
|
||||||
|
|
||||||
|
/* MICHDR1 */
|
||||||
|
if (pDevice->bLongHeader)
|
||||||
|
mic_hdr->hlen = cpu_to_be16(28);
|
||||||
|
else
|
||||||
|
mic_hdr->hlen = cpu_to_be16(22);
|
||||||
|
|
||||||
|
memcpy(mic_hdr->addr1, pMACHeader->addr1, ETH_ALEN);
|
||||||
|
memcpy(mic_hdr->addr2, pMACHeader->addr2, ETH_ALEN);
|
||||||
|
|
||||||
|
/* MICHDR2 */
|
||||||
|
memcpy(mic_hdr->addr3, pMACHeader->addr3, ETH_ALEN);
|
||||||
|
mic_hdr->frame_control = cpu_to_le16(pMACHeader->frame_control
|
||||||
& 0xc78f);
|
& 0xc78f);
|
||||||
mic_hdr->seq_ctrl = cpu_to_le16(pMACHeader->seq_ctrl & 0xf);
|
mic_hdr->seq_ctrl = cpu_to_le16(pMACHeader->seq_ctrl & 0xf);
|
||||||
|
|
||||||
if (pDevice->bLongHeader)
|
if (pDevice->bLongHeader)
|
||||||
memcpy(mic_hdr->addr4, pMACHeader->addr4, ETH_ALEN);
|
memcpy(mic_hdr->addr4, pMACHeader->addr4, ETH_ALEN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void s_vSWencryption(struct vnt_private *pDevice,
|
static void s_vSWencryption(struct vnt_private *pDevice,
|
||||||
|
|
Loading…
Add table
Reference in a new issue