ipw2100: use is_zero_ether_addr() and is_broadcast_ether_addr()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Thu, 23 Aug 2012 06:53:24 +0000 (14:53 +0800)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 7 Sep 2012 19:03:36 +0000 (15:03 -0400)
Using is_zero_ether_addr() and is_broadcast_ether_addr() instead of
directly use memcmp() to determine if the ethernet address is all zeros.

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: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ipw2x00/ipw2100.c

index 95aa8e1..c3e14b2 100644 (file)
@@ -6963,13 +6963,6 @@ static int ipw2100_wx_set_wap(struct net_device *dev,
        struct ipw2100_priv *priv = libipw_priv(dev);
        int err = 0;
 
-       static const unsigned char any[] = {
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff
-       };
-       static const unsigned char off[] = {
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-       };
-
        // sanity checks
        if (wrqu->ap_addr.sa_family != ARPHRD_ETHER)
                return -EINVAL;
@@ -6980,8 +6973,8 @@ static int ipw2100_wx_set_wap(struct net_device *dev,
                goto done;
        }
 
-       if (!memcmp(any, wrqu->ap_addr.sa_data, ETH_ALEN) ||
-           !memcmp(off, wrqu->ap_addr.sa_data, ETH_ALEN)) {
+       if (is_broadcast_ether_addr(wrqu->ap_addr.sa_data) ||
+           is_zero_ether_addr(wrqu->ap_addr.sa_data)) {
                /* we disable mandatory BSSID association */
                IPW_DEBUG_WX("exit - disable mandatory BSSID\n");
                priv->config &= ~CFG_STATIC_BSSID;