> Thanks Andrew, > > it seems that removing Aysm Pause does the trick.
Great. I will submit the patch today. I see two possible followups: 1) Figure out why auto-neg does not complete when Pause is advertised. Is this a problem with the local PHY or the link partner? The Micrel we have some control over, but the link partner in the switch we have to treat as a black box. 2) If we can get negotiation to work correctly, then implement Pause in the MAC driver. When phylib calls the adjust_link callback phydev->pause and phydev->asym_pause tells you want the partner can do. You can then decide how to program the MAC. There is also a get/set for ethtool. It really requires somebody with the hardware to do this. Andrew