Commit 93dc5e42 authored by dingtianhong's avatar dingtianhong Committed by David S. Miller

ozwpan: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
instead of memcmp.

Cc: Rupesh Gujare <rupesh.gujare@atmel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: devel@driverdev.osuosl.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: default avatarTan Xiaojun <tanxiaojun@huawei.com>
Signed-off-by: default avatarDing Tianhong <dingtianhong@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c15975ac
...@@ -448,7 +448,7 @@ int oz_cdev_start(struct oz_pd *pd, int resume) ...@@ -448,7 +448,7 @@ int oz_cdev_start(struct oz_pd *pd, int resume)
} }
spin_lock(&g_cdev.lock); spin_lock(&g_cdev.lock);
if ((g_cdev.active_pd == NULL) && if ((g_cdev.active_pd == NULL) &&
(memcmp(pd->mac_addr, g_cdev.active_addr, ETH_ALEN) == 0)) { ether_addr_equal(pd->mac_addr, g_cdev.active_addr)) {
oz_pd_get(pd); oz_pd_get(pd);
g_cdev.active_pd = pd; g_cdev.active_pd = pd;
oz_dbg(ON, "Active PD arrived\n"); oz_dbg(ON, "Active PD arrived\n");
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include <linux/timer.h> #include <linux/timer.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/ieee80211.h> #include <linux/ieee80211.h>
#include "ozdbg.h" #include "ozdbg.h"
...@@ -180,7 +181,7 @@ static struct oz_pd *oz_connect_req(struct oz_pd *cur_pd, struct oz_elt *elt, ...@@ -180,7 +181,7 @@ static struct oz_pd *oz_connect_req(struct oz_pd *cur_pd, struct oz_elt *elt,
spin_lock_bh(&g_polling_lock); spin_lock_bh(&g_polling_lock);
list_for_each(e, &g_pd_list) { list_for_each(e, &g_pd_list) {
pd2 = container_of(e, struct oz_pd, link); pd2 = container_of(e, struct oz_pd, link);
if (memcmp(pd2->mac_addr, pd_addr, ETH_ALEN) == 0) { if (ether_addr_equal(pd2->mac_addr, pd_addr)) {
free_pd = pd; free_pd = pd;
pd = pd2; pd = pd2;
break; break;
...@@ -597,7 +598,7 @@ struct oz_pd *oz_pd_find(const u8 *mac_addr) ...@@ -597,7 +598,7 @@ struct oz_pd *oz_pd_find(const u8 *mac_addr)
spin_lock_bh(&g_polling_lock); spin_lock_bh(&g_polling_lock);
list_for_each(e, &g_pd_list) { list_for_each(e, &g_pd_list) {
pd = container_of(e, struct oz_pd, link); pd = container_of(e, struct oz_pd, link);
if (memcmp(pd->mac_addr, mac_addr, ETH_ALEN) == 0) { if (ether_addr_equal(pd->mac_addr, mac_addr)) {
atomic_inc(&pd->ref_count); atomic_inc(&pd->ref_count);
spin_unlock_bh(&g_polling_lock); spin_unlock_bh(&g_polling_lock);
return pd; return pd;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment