Staging: rtl8192u: using random_ether_addr() to generate random MAC
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Tue, 21 Aug 2012 08:39:04 +0000 (16:39 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 4 Sep 2012 21:11:29 +0000 (14:11 -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/rtl8192u/ieee80211/ieee80211_softmac.c

index 6721ed9efc3b6d7a13af9125ab340146770b56bd..9f625bc1b4a1db585f5072faa2a3a3606f095c76 100644 (file)
@@ -2288,13 +2288,7 @@ void ieee80211_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 */