ipw2200: use is_zero_ether_addr() and is_broadcast_ether_addr()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Thu, 23 Aug 2012 06:54:05 +0000 (14:54 +0800)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 7 Sep 2012 19:03:37 +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/ipw2200.c

index 0df45914739489f5f7555423f9f647d8fdb7dff5..935120fc8c9397daef4cb822b3d00176e0ca0cb8 100644 (file)
@@ -9037,18 +9037,11 @@ static int ipw_wx_set_wap(struct net_device *dev,
 {
        struct ipw_priv *priv = libipw_priv(dev);
 
-       static const unsigned char any[] = {
-               0xff, 0xff, 0xff, 0xff, 0xff, 0xff
-       };
-       static const unsigned char off[] = {
-               0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-       };
-
        if (wrqu->ap_addr.sa_family != ARPHRD_ETHER)
                return -EINVAL;
        mutex_lock(&priv->mutex);
-       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("Setting AP BSSID to ANY\n");
                priv->config &= ~CFG_STATIC_BSSID;