Browse Source

zd1211rw: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
instead of memcmp.

Cc: Daniel Drake <dsd@gentoo.org>
Cc: Ulrich Kunitz <kune@deine-taler.de>
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: Tan Xiaojun <tanxiaojun@huawei.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
dingtianhong 11 years ago
parent
commit
c15975ac60
1 changed files with 2 additions and 3 deletions
  1. 2 3
      drivers/net/wireless/zd1211rw/zd_mac.c

+ 2 - 3
drivers/net/wireless/zd1211rw/zd_mac.c

@@ -532,9 +532,8 @@ void zd_mac_tx_failed(struct urb *urb)
 		tx_hdr = (struct ieee80211_hdr *)skb->data;
 		tx_hdr = (struct ieee80211_hdr *)skb->data;
 
 
 		/* we skip all frames not matching the reported destination */
 		/* we skip all frames not matching the reported destination */
-		if (unlikely(memcmp(tx_hdr->addr1, tx_status->mac, ETH_ALEN))) {
+		if (unlikely(!ether_addr_equal(tx_hdr->addr1, tx_status->mac)))
 			continue;
 			continue;
-		}
 
 
 		/* we skip all frames not matching the reported final rate */
 		/* we skip all frames not matching the reported final rate */
 
 
@@ -997,7 +996,7 @@ static int filter_ack(struct ieee80211_hw *hw, struct ieee80211_hdr *rx_hdr,
 		    continue;
 		    continue;
 
 
 		tx_hdr = (struct ieee80211_hdr *)skb->data;
 		tx_hdr = (struct ieee80211_hdr *)skb->data;
-		if (likely(!memcmp(tx_hdr->addr2, rx_hdr->addr1, ETH_ALEN)))
+		if (likely(ether_addr_equal(tx_hdr->addr2, rx_hdr->addr1)))
 		{
 		{
 			found = 1;
 			found = 1;
 			break;
 			break;