atm: slight optimization of addr compare

Use possibly more efficient ether_addr_equal
instead of memcmp.

Cc: Chas Williams <chas@cmf.nrl.navy.mil>
Cc: linux-atm-general@lists.sourceforge.net
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
dingtianhong 2013-12-26 19:41:02 +08:00 committed by David S. Miller
parent 496d7e8ea3
commit 4c55a4623a

View file

@ -52,6 +52,7 @@
#include <asm/io.h> #include <asm/io.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <linux/atomic.h> #include <linux/atomic.h>
#include <linux/etherdevice.h>
#include "nicstar.h" #include "nicstar.h"
#ifdef CONFIG_ATM_NICSTAR_USE_SUNI #ifdef CONFIG_ATM_NICSTAR_USE_SUNI
#include "suni.h" #include "suni.h"
@ -781,8 +782,7 @@ static int ns_init_card(int i, struct pci_dev *pcidev)
if (mac[i] == NULL || !mac_pton(mac[i], card->atmdev->esi)) { if (mac[i] == NULL || !mac_pton(mac[i], card->atmdev->esi)) {
nicstar_read_eprom(card->membase, NICSTAR_EPROM_MAC_ADDR_OFFSET, nicstar_read_eprom(card->membase, NICSTAR_EPROM_MAC_ADDR_OFFSET,
card->atmdev->esi, 6); card->atmdev->esi, 6);
if (memcmp(card->atmdev->esi, "\x00\x00\x00\x00\x00\x00", 6) == if (ether_addr_equal(card->atmdev->esi, "\x00\x00\x00\x00\x00\x00")) {
0) {
nicstar_read_eprom(card->membase, nicstar_read_eprom(card->membase,
NICSTAR_EPROM_MAC_ADDR_OFFSET_ALT, NICSTAR_EPROM_MAC_ADDR_OFFSET_ALT,
card->atmdev->esi, 6); card->atmdev->esi, 6);