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: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
f012f7588f
Коммит
f90e29f32b
|
@ -1245,7 +1245,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 &&
|
||||
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*
|
||||
* 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 */
|
||||
if (!ieee80211_is_beacon(mgmt->frame_control) ||
|
||||
!ether_addr_equal(mgmt->bssid, common->curbssid))
|
||||
!ether_addr_equal_64bits(mgmt->bssid, common->curbssid))
|
||||
return;
|
||||
|
||||
ewma_add(&ah->ah_beacon_rssi_avg, rssi);
|
||||
|
|
Загрузка…
Ссылка в новой задаче