e1000e: fix and commonize code for setting the receive address registers
authorBruce Allan <bruce.w.allan@intel.com>
Thu, 7 Jan 2010 16:32:13 +0000 (16:32 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Jan 2010 08:35:31 +0000 (00:35 -0800)
commitb7a9216c5a3205a6d721972bfd012c4eb5950e9c
tree9a33ba2afe538d12c97bd87649a2026230dba756
parentca777f9c098f1ea1c9ec61318cc909d0c8f465e1
e1000e: fix and commonize code for setting the receive address registers

Fix e1000e_rar_set() to flush consecutive register writes to avoid write
combining which some parts cannot handle.  Update e1000e_init_rx_addrs()
to call the fixed e1000e_rar_set() instead of duplicating code.

Also change e1000e_rar_set() to _not_ set the Address Valid bit if the MAC
address is all zeros.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/e1000e/lib.c