staging: rtl8187se: using random_ether_addr() to generate random MAC
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Tue, 21 Aug 2012 08:36:28 +0000 (16:36 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 4 Sep 2012 21:10:08 +0000 (14:10 -0700)
Using random_ether_addr() to generate a random Ethernet
address (MAC) that is not multicast and has the local
assigned bit set. Not need to duplicating its implementation.

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8187se/ieee80211/ieee80211_softmac.c

index 7c669a23f7cf950cbe21bf6d836ab900ede12fae..00f9af06aca5e046e8dc6a9ed924ca5d43a384ba 100644 (file)
@@ -2111,13 +2111,7 @@ void ieee80211_rtl_stop_queue(struct ieee80211_device *ieee)
 inline void ieee80211_randomize_cell(struct ieee80211_device *ieee)
 {
 
-       get_random_bytes(ieee->current_network.bssid, ETH_ALEN);
-
-       /* an IBSS cell address must have the two less significant
-        * bits of the first byte = 2
-        */
-       ieee->current_network.bssid[0] &= ~0x01;
-       ieee->current_network.bssid[0] |= 0x02;
+       random_ether_addr(ieee->current_network.bssid);
 }
 
 /* called in user context only */