forked from Minki/linux
[NIU]: More BMAC alt MAC address fixes.
From: Matheos Worku <Matheos.Worku@Sun.COM> 1) niu_enable_alt_mac() needs to be adjusted so that the mask is computed properly for the BMAC case. 2) BMAC has 6 alt MAC addresses available, not 7. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7b33ed2219
commit
fa907895b7
@ -1616,12 +1616,13 @@ static int niu_enable_alt_mac(struct niu *np, int index, int on)
|
||||
if (index >= niu_num_alt_addr(np))
|
||||
return -EINVAL;
|
||||
|
||||
if (np->flags & NIU_FLAGS_XMAC)
|
||||
if (np->flags & NIU_FLAGS_XMAC) {
|
||||
reg = XMAC_ADDR_CMPEN;
|
||||
else
|
||||
mask = 1 << index;
|
||||
} else {
|
||||
reg = BMAC_ADDR_CMPEN;
|
||||
|
||||
mask = 1 << index;
|
||||
mask = 1 << (index + 1);
|
||||
}
|
||||
|
||||
val = nr64_mac(reg);
|
||||
if (on)
|
||||
|
@ -499,7 +499,7 @@
|
||||
#define BMAC_ADDR2 0x00110UL
|
||||
#define BMAC_ADDR2_ADDR2 0x000000000000ffffULL
|
||||
|
||||
#define BMAC_NUM_ALT_ADDR 7
|
||||
#define BMAC_NUM_ALT_ADDR 6
|
||||
|
||||
#define BMAC_ALT_ADDR0(NUM) (0x00118UL + (NUM)*0x18UL)
|
||||
#define BMAC_ALT_ADDR0_ADDR0 0x000000000000ffffULL
|
||||
|
Loading…
Reference in New Issue
Block a user