[PATCH 250/524] Staging: vt6655: simplify broadcast and multicast ethernet address test

Greg Kroah-Hartman gregkh at suse.de
Thu Aug 5 22:20:33 UTC 2010


From: Charles Clément <caratorn at gmail.com>

A broadcast address is also a multicast address so simplify test cases where
possible.

As suggested by Joe Perches.

Signed-off-by: Charles Clément <caratorn at gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
---
 drivers/staging/vt6655/dpc.c  |    2 +-
 drivers/staging/vt6655/rxtx.c |   26 ++++++++------------------
 2 files changed, 9 insertions(+), 19 deletions(-)

diff --git a/drivers/staging/vt6655/dpc.c b/drivers/staging/vt6655/dpc.c
index 882c2f6..c7ffdea 100644
--- a/drivers/staging/vt6655/dpc.c
+++ b/drivers/staging/vt6655/dpc.c
@@ -443,7 +443,7 @@ device_receive_frame (
         return FALSE;
     }
 
-    if (!is_multicast_ether_addr(pbyFrame) && !is_broadcast_ether_addr(pbyFrame)) {
+    if (!is_multicast_ether_addr(pbyFrame)) {
         if (WCTLbIsDuplicate(&(pDevice->sDupRxCache), (PS802_11Header) (skb->data + 4))) {
             pDevice->s802_11Counter.FrameDuplicateCount++;
             return FALSE;
diff --git a/drivers/staging/vt6655/rxtx.c b/drivers/staging/vt6655/rxtx.c
index 8703635..802de27 100644
--- a/drivers/staging/vt6655/rxtx.c
+++ b/drivers/staging/vt6655/rxtx.c
@@ -1372,13 +1372,10 @@ s_cbFillTxBufHead(PSDevice pDevice, unsigned char byPktType, unsigned char *pbyT
     if ((pDevice->eOPMode == OP_MODE_ADHOC) ||
         (pDevice->eOPMode == OP_MODE_AP)) {
 
-        if (is_multicast_ether_addr(&(psEthHeader->abyDstAddr[0])) ||
-            is_broadcast_ether_addr(&(psEthHeader->abyDstAddr[0]))) {
-            bNeedACK = FALSE;
-        }
-        else {
+	if (is_multicast_ether_addr(&(psEthHeader->abyDstAddr[0])))
+		bNeedACK = FALSE;
+        else
             bNeedACK = TRUE;
-        }
         bIsAdhoc = TRUE;
     }
     else {
@@ -2091,8 +2088,7 @@ vGenerateFIFOHeader(PSDevice pDevice, unsigned char byPktType, unsigned char *pb
 
     if ((pDevice->eOPMode == OP_MODE_ADHOC) ||
         (pDevice->eOPMode == OP_MODE_AP)) {
-        if (is_multicast_ether_addr(&(psEthHeader->abyDstAddr[0])) ||
-            is_broadcast_ether_addr(&(psEthHeader->abyDstAddr[0]))) {
+        if (is_multicast_ether_addr(&(psEthHeader->abyDstAddr[0]))) {
             bNeedACK = FALSE;
             pTxBufHead->wFIFOCtl = pTxBufHead->wFIFOCtl & (~FIFOCTL_NEEDACK);
         }
@@ -2392,10 +2388,8 @@ CMD_STATUS csMgmt_xmit(PSDevice pDevice, PSTxMgmtPacket pPacket) {
     pTxBufHead->wTimeStamp = cpu_to_le16(DEFAULT_MGN_LIFETIME_RES_64us);
 
 
-    if (is_multicast_ether_addr(&(pPacket->p80211Header->sA3.abyAddr1[0])) ||
-        is_broadcast_ether_addr(&(pPacket->p80211Header->sA3.abyAddr1[0]))) {
+    if (is_multicast_ether_addr(&(pPacket->p80211Header->sA3.abyAddr1[0])))
         bNeedACK = FALSE;
-    }
     else {
         bNeedACK = TRUE;
         pTxBufHead->wFIFOCtl |= FIFOCTL_NEEDACK;
@@ -2728,13 +2722,10 @@ cbGetFragCount (
 
     if ((pDevice->eOPMode == OP_MODE_ADHOC) ||
         (pDevice->eOPMode == OP_MODE_AP)) {
-        if (is_multicast_ether_addr(&(psEthHeader->abyDstAddr[0])) ||
-            is_broadcast_ether_addr(&(psEthHeader->abyDstAddr[0]))) {
+        if (is_multicast_ether_addr(&(psEthHeader->abyDstAddr[0])))
             bNeedACK = FALSE;
-        }
-        else {
+        else
             bNeedACK = TRUE;
-        }
     }
     else {
         // MSDUs in Infra mode always need ACK
@@ -2906,8 +2897,7 @@ vDMA0_tx_80211(PSDevice  pDevice, struct sk_buff *skb, unsigned char *pbMPDU, un
     pTxBufHead->wTimeStamp = cpu_to_le16(DEFAULT_MGN_LIFETIME_RES_64us);
 
 
-    if (is_multicast_ether_addr(&(p80211Header->sA3.abyAddr1[0])) ||
-        is_broadcast_ether_addr(&(p80211Header->sA3.abyAddr1[0]))) {
+    if (is_multicast_ether_addr(&(p80211Header->sA3.abyAddr1[0]))) {
         bNeedACK = FALSE;
         if (pDevice->bEnableHostWEP) {
             uNodeIndex = 0;
-- 
1.7.1




More information about the devel mailing list