staging: r8712u: use is_zero_ether_addr() instead of memcmp()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Thu, 23 Aug 2012 06:40:28 +0000 (14:40 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 4 Sep 2012 21:14:08 +0000 (14:14 -0700)
Using is_zero_ether_addr() instead of directly use
memcmp(addr, "\x00\x00\x00\x00\x00\x00", ETH_ALEN)
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>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8712/rtl871x_recv.c

index c9d1743..23ec684 100644 (file)
@@ -32,6 +32,7 @@
 #include <linux/slab.h>
 #include <linux/if_ether.h>
 #include <linux/kmemleak.h>
+#include <linux/etherdevice.h>
 
 #include "osdep_service.h"
 #include "drv_types.h"
@@ -331,8 +332,8 @@ static sint sta2sta_data_frame(struct _adapter *adapter,
                        return _FAIL;
                if ((memcmp(myhwaddr, pattrib->dst, ETH_ALEN)) && (!bmcast))
                        return _FAIL;
-               if (!memcmp(pattrib->bssid, "\x0\x0\x0\x0\x0\x0", ETH_ALEN) ||
-                   !memcmp(mybssid, "\x0\x0\x0\x0\x0\x0", ETH_ALEN) ||
+               if (is_zero_ether_addr(pattrib->bssid) ||
+                   is_zero_ether_addr(mybssid) ||
                    (memcmp(pattrib->bssid, mybssid, ETH_ALEN)))
                        return _FAIL;
                sta_addr = pattrib->src;
@@ -409,8 +410,8 @@ static sint ap2sta_data_frame(struct _adapter *adapter,
                if ((memcmp(myhwaddr, pattrib->dst, ETH_ALEN)) && (!bmcast))
                        return _FAIL;
                /* check BSSID */
-               if (!memcmp(pattrib->bssid, "\x0\x0\x0\x0\x0\x0", ETH_ALEN) ||
-                    !memcmp(mybssid, "\x0\x0\x0\x0\x0\x0", ETH_ALEN) ||
+               if (is_zero_ether_addr(pattrib->bssid) ||
+                    is_zero_ether_addr(mybssid) ||
                     (memcmp(pattrib->bssid, mybssid, ETH_ALEN)))
                        return _FAIL;
                if (bmcast)