netxen : fix BOND_MODE_TLB/ALB mode.
authorNarender Kumar <narender.kumar@qlogic.com>
Fri, 20 Nov 2009 22:08:57 +0000 (22:08 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 21 Nov 2009 19:37:37 +0000 (11:37 -0800)
commit5d09e534bbb94e1fdc8e4783ac822bc172465a91
treec7096c8b0d87dbad2d05d8d0d4362c52b681e6c0
parenta7483b0afa63e851c4438ddda8934a296851f1de
netxen : fix BOND_MODE_TLB/ALB mode.

o Along with netdev->perm_addr, mac address will be
  maintained in device private structure.

o Device limitation: We need to set mac address when ever
  interface comes up.

In ALB/TAL mode, bonding driver calls set_mac for all slave with bond mac address.
But bonding driver set netdev->dev_addr field to its original value,
after enslaving interfaces.

When ever active slave changes, it swap dev_addr of inactive slave with active.
Yet it doesn't notify driver about change in netdev->dev_addr.

As netxen driver need to set mac addr when ever interface comes up,
it can't rely on netdev->dev_addr field. Specially in case of bonding mode ALB/TLB.

Signed-off-by: Narender Kumar <narender.kumar@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/netxen/netxen_nic.h
drivers/net/netxen/netxen_nic_hw.c
drivers/net/netxen/netxen_nic_main.c