mirror of
https://github.com/torvalds/linux.git
synced 2024-12-06 19:11:31 +00:00
b44: always set duplex mode why phy changes
Without this patch b44_check_phy() was called when the phy called the adjust callback. This method only change the mac duplex mode when the carrier was off. When the phy changed the duplex mode after the carrier was on the mac was not changed. This happened when an external phy was used. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
25d54fe565
commit
1d3f41ea0e
@ -2229,7 +2229,12 @@ static void b44_adjust_link(struct net_device *dev)
|
||||
}
|
||||
|
||||
if (status_changed) {
|
||||
b44_check_phy(bp);
|
||||
u32 val = br32(bp, B44_TX_CTRL);
|
||||
if (bp->flags & B44_FLAG_FULL_DUPLEX)
|
||||
val |= TX_CTRL_DUPLEX;
|
||||
else
|
||||
val &= ~TX_CTRL_DUPLEX;
|
||||
bw32(bp, B44_TX_CTRL, val);
|
||||
phy_print_status(phydev);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user