ath5k: use compare_ether_addr on MAC addresses instead of memcmp
authorJonathan Bither <jonbither@gmail.com>
Thu, 12 Apr 2012 19:44:47 +0000 (15:44 -0400)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 16 Apr 2012 18:16:59 +0000 (14:16 -0400)
Following Felix's recent patchset as an example I have replaced memcmp with
compare_ether_addr.

"Because of the constant size and guaranteed 16 bit alignment, the inline
compare_ether_addr function is much cheaper than calling memcmp."

Signed-off-by: Jonathan Bither <jonbither@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath5k/base.c

index 3007bba12d9434cc21b25c6ca69c02b08ca22791..49e3b19cf781bbe123e8f7837ed1fe99ae97a2de 100644 (file)
@@ -1170,7 +1170,7 @@ ath5k_check_ibss_tsf(struct ath5k_hw *ah, struct sk_buff *skb,
 
        if (ieee80211_is_beacon(mgmt->frame_control) &&
            le16_to_cpu(mgmt->u.beacon.capab_info) & WLAN_CAPABILITY_IBSS &&
-           memcmp(mgmt->bssid, common->curbssid, ETH_ALEN) == 0) {
+           compare_ether_addr(mgmt->bssid, common->curbssid) == 0) {
                /*
                 * Received an IBSS beacon with the same BSSID. Hardware *must*
                 * have updated the local TSF. We have to work around various
@@ -1234,7 +1234,7 @@ ath5k_update_beacon_rssi(struct ath5k_hw *ah, struct sk_buff *skb, int rssi)
 
        /* only beacons from our BSSID */
        if (!ieee80211_is_beacon(mgmt->frame_control) ||
-           memcmp(mgmt->bssid, common->curbssid, ETH_ALEN) != 0)
+           compare_ether_addr(mgmt->bssid, common->curbssid) != 0)
                return;
 
        ewma_add(&ah->ah_beacon_rssi_avg, rssi);