Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f90e29f3 authored by Julia Lawall's avatar Julia Lawall Committed by John W. Linville
Browse files

ath5k: use ether_addr_equal_64bits

Ether_addr_equal_64bits is more efficient than ether_addr_equal, and can be
used when each argument is an array within a structure that contains at
least two bytes of data beyond the array.

The structures involved are:
ieee80211_mgmt defined in include/linux/ieee80211.h and
ath_common defined in drivers/net/wireless/ath/ath.h

This was done using Coccinelle (http://coccinelle.lip6.fr/

).

Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent f012f758
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -1245,7 +1245,7 @@ ath5k_check_ibss_tsf(struct ath5k_hw *ah, struct sk_buff *skb,


	if (ieee80211_is_beacon(mgmt->frame_control) &&
	if (ieee80211_is_beacon(mgmt->frame_control) &&
	    le16_to_cpu(mgmt->u.beacon.capab_info) & WLAN_CAPABILITY_IBSS &&
	    le16_to_cpu(mgmt->u.beacon.capab_info) & WLAN_CAPABILITY_IBSS &&
	    ether_addr_equal(mgmt->bssid, common->curbssid)) {
	    ether_addr_equal_64bits(mgmt->bssid, common->curbssid)) {
		/*
		/*
		 * Received an IBSS beacon with the same BSSID. Hardware *must*
		 * Received an IBSS beacon with the same BSSID. Hardware *must*
		 * have updated the local TSF. We have to work around various
		 * have updated the local TSF. We have to work around various
@@ -1309,7 +1309,7 @@ ath5k_update_beacon_rssi(struct ath5k_hw *ah, struct sk_buff *skb, int rssi)


	/* only beacons from our BSSID */
	/* only beacons from our BSSID */
	if (!ieee80211_is_beacon(mgmt->frame_control) ||
	if (!ieee80211_is_beacon(mgmt->frame_control) ||
	    !ether_addr_equal(mgmt->bssid, common->curbssid))
	    !ether_addr_equal_64bits(mgmt->bssid, common->curbssid))
		return;
		return;


	ewma_add(&ah->ah_beacon_rssi_avg, rssi);
	ewma_add(&ah->ah_beacon_rssi_avg, rssi);