diff options
Diffstat (limited to 'drivers/staging')
-rw-r--r-- | drivers/staging/vt6656/rxtx.c | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/drivers/staging/vt6656/rxtx.c b/drivers/staging/vt6656/rxtx.c index eaead0cdae2..887ad265a62 100644 --- a/drivers/staging/vt6656/rxtx.c +++ b/drivers/staging/vt6656/rxtx.c | |||
@@ -1485,17 +1485,16 @@ s_bPacketToWirelessUsb( | |||
1485 | bNeedACK = FALSE; | 1485 | bNeedACK = FALSE; |
1486 | pTxBufHead->wFIFOCtl = pTxBufHead->wFIFOCtl & (~FIFOCTL_NEEDACK); | 1486 | pTxBufHead->wFIFOCtl = pTxBufHead->wFIFOCtl & (~FIFOCTL_NEEDACK); |
1487 | } else { //if (pDevice->dwDiagRefCount != 0) { | 1487 | } else { //if (pDevice->dwDiagRefCount != 0) { |
1488 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || | 1488 | if ((pDevice->eOPMode == OP_MODE_ADHOC) || |
1489 | (pDevice->eOPMode == OP_MODE_AP)) { | 1489 | (pDevice->eOPMode == OP_MODE_AP)) { |
1490 | if (is_multicast_ether_addr(&(psEthHeader->abyDstAddr[0])) || | 1490 | if (is_multicast_ether_addr(psEthHeader->abyDstAddr)) { |
1491 | is_broadcast_ether_addr(&(psEthHeader->abyDstAddr[0]))) { | 1491 | bNeedACK = FALSE; |
1492 | bNeedACK = FALSE; | 1492 | pTxBufHead->wFIFOCtl = |
1493 | pTxBufHead->wFIFOCtl = pTxBufHead->wFIFOCtl & (~FIFOCTL_NEEDACK); | 1493 | pTxBufHead->wFIFOCtl & (~FIFOCTL_NEEDACK); |
1494 | } | 1494 | } else { |
1495 | else { | 1495 | bNeedACK = TRUE; |
1496 | bNeedACK = TRUE; | 1496 | pTxBufHead->wFIFOCtl |= FIFOCTL_NEEDACK; |
1497 | pTxBufHead->wFIFOCtl |= FIFOCTL_NEEDACK; | 1497 | } |
1498 | } | ||
1499 | } | 1498 | } |
1500 | else { | 1499 | else { |
1501 | // MSDUs in Infra mode always need ACK | 1500 | // MSDUs in Infra mode always need ACK |
@@ -2030,9 +2029,7 @@ CMD_STATUS csMgmt_xmit( | |||
2030 | pTxBufHead->wFIFOCtl |= FIFOCTL_TMOEN; | 2029 | pTxBufHead->wFIFOCtl |= FIFOCTL_TMOEN; |
2031 | pTxBufHead->wTimeStamp = cpu_to_le16(DEFAULT_MGN_LIFETIME_RES_64us); | 2030 | pTxBufHead->wTimeStamp = cpu_to_le16(DEFAULT_MGN_LIFETIME_RES_64us); |
2032 | 2031 | ||
2033 | 2032 | if (is_multicast_ether_addr(pPacket->p80211Header->sA3.abyAddr1)) { | |
2034 | if (is_multicast_ether_addr(&(pPacket->p80211Header->sA3.abyAddr1[0])) || | ||
2035 | is_broadcast_ether_addr(&(pPacket->p80211Header->sA3.abyAddr1[0]))) { | ||
2036 | bNeedACK = FALSE; | 2033 | bNeedACK = FALSE; |
2037 | } | 2034 | } |
2038 | else { | 2035 | else { |
@@ -2439,9 +2436,7 @@ vDMA0_tx_80211(PSDevice pDevice, struct sk_buff *skb) { | |||
2439 | pTxBufHead->wFIFOCtl |= FIFOCTL_TMOEN; | 2436 | pTxBufHead->wFIFOCtl |= FIFOCTL_TMOEN; |
2440 | pTxBufHead->wTimeStamp = cpu_to_le16(DEFAULT_MGN_LIFETIME_RES_64us); | 2437 | pTxBufHead->wTimeStamp = cpu_to_le16(DEFAULT_MGN_LIFETIME_RES_64us); |
2441 | 2438 | ||
2442 | 2439 | if (is_multicast_ether_addr(p80211Header->sA3.abyAddr1)) { | |
2443 | if (is_multicast_ether_addr(&(p80211Header->sA3.abyAddr1[0])) || | ||
2444 | is_broadcast_ether_addr(&(p80211Header->sA3.abyAddr1[0]))) { | ||
2445 | bNeedACK = FALSE; | 2440 | bNeedACK = FALSE; |
2446 | if (pDevice->bEnableHostWEP) { | 2441 | if (pDevice->bEnableHostWEP) { |
2447 | uNodeIndex = 0; | 2442 | uNodeIndex = 0; |
@@ -2965,7 +2960,7 @@ nsDMA_tx_packet( | |||
2965 | else { | 2960 | else { |
2966 | if (pDevice->eOPMode == OP_MODE_ADHOC) { | 2961 | if (pDevice->eOPMode == OP_MODE_ADHOC) { |
2967 | // Adhoc Tx rate decided from node DB | 2962 | // Adhoc Tx rate decided from node DB |
2968 | if (is_multicast_ether_addr(&(pDevice->sTxEthHeader.abyDstAddr[0]))) { | 2963 | if (is_multicast_ether_addr(pDevice->sTxEthHeader.abyDstAddr)) { |
2969 | // Multicast use highest data rate | 2964 | // Multicast use highest data rate |
2970 | pDevice->wCurrentRate = pMgmt->sNodeDBTable[0].wTxDataRate; | 2965 | pDevice->wCurrentRate = pMgmt->sNodeDBTable[0].wTxDataRate; |
2971 | // preamble type | 2966 | // preamble type |