aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/cw1200
diff options
context:
space:
mode:
authordingtianhong <dingtianhong@huawei.com>2013-12-26 06:41:20 -0500
committerDavid S. Miller <davem@davemloft.net>2013-12-26 13:31:35 -0500
commit35df5388ac7cd205cc642b28eb90f940c816eaf7 (patch)
treeb929d38a99ee3425e78ebfc6347a46ae0fd1e5b2 /drivers/net/wireless/cw1200
parentd22fbd70c2770b5e3ba0d7bc5b29f6ee686cdba4 (diff)
cw1200: slight optimization of addr compare
Use possibly more efficient ether_addr_equal instead of memcmp. Cc: Solomon Peachy <pizza@shaftnet.org> Cc: John W. Linville <linville@tuxdriver.com> Cc: linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Weilong Chen <chenweilong@huawei.com> Signed-off-by: Ding Tianhong <dingtianhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wireless/cw1200')
-rw-r--r--drivers/net/wireless/cw1200/sta.c5
-rw-r--r--drivers/net/wireless/cw1200/txrx.c3
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/wireless/cw1200/sta.c b/drivers/net/wireless/cw1200/sta.c
index 010b252be584..103f7bce8932 100644
--- a/drivers/net/wireless/cw1200/sta.c
+++ b/drivers/net/wireless/cw1200/sta.c
@@ -13,6 +13,7 @@
13#include <linux/sched.h> 13#include <linux/sched.h>
14#include <linux/firmware.h> 14#include <linux/firmware.h>
15#include <linux/module.h> 15#include <linux/module.h>
16#include <linux/etherdevice.h>
16 17
17#include "cw1200.h" 18#include "cw1200.h"
18#include "sta.h" 19#include "sta.h"
@@ -555,8 +556,8 @@ u64 cw1200_prepare_multicast(struct ieee80211_hw *hw,
555 pr_debug("[STA] multicast: %pM\n", ha->addr); 556 pr_debug("[STA] multicast: %pM\n", ha->addr);
556 memcpy(&priv->multicast_filter.macaddrs[count], 557 memcpy(&priv->multicast_filter.macaddrs[count],
557 ha->addr, ETH_ALEN); 558 ha->addr, ETH_ALEN);
558 if (memcmp(ha->addr, broadcast_ipv4, ETH_ALEN) && 559 if (!ether_addr_equal(ha->addr, broadcast_ipv4) &&
559 memcmp(ha->addr, broadcast_ipv6, ETH_ALEN)) 560 !ether_addr_equal(ha->addr, broadcast_ipv6))
560 priv->has_multicast_subscription = true; 561 priv->has_multicast_subscription = true;
561 count++; 562 count++;
562 } 563 }
diff --git a/drivers/net/wireless/cw1200/txrx.c b/drivers/net/wireless/cw1200/txrx.c
index e824d4d4a18d..0bd541175ecd 100644
--- a/drivers/net/wireless/cw1200/txrx.c
+++ b/drivers/net/wireless/cw1200/txrx.c
@@ -1166,8 +1166,7 @@ void cw1200_rx_cb(struct cw1200_common *priv,
1166 return; 1166 return;
1167 } else if (ieee80211_is_beacon(frame->frame_control) && 1167 } else if (ieee80211_is_beacon(frame->frame_control) &&
1168 !arg->status && priv->vif && 1168 !arg->status && priv->vif &&
1169 !memcmp(ieee80211_get_SA(frame), priv->vif->bss_conf.bssid, 1169 ether_addr_equal(ieee80211_get_SA(frame), priv->vif->bss_conf.bssid)) {
1170 ETH_ALEN)) {
1171 const u8 *tim_ie; 1170 const u8 *tim_ie;
1172 u8 *ies = ((struct ieee80211_mgmt *) 1171 u8 *ies = ((struct ieee80211_mgmt *)
1173 (skb->data))->u.beacon.variable; 1172 (skb->data))->u.beacon.variable;