<div dir="ltr"><div><div>This bug report relates to a device using the AR8216 switch chip and a trunk version where the additional phy reset in 3.14 was still enabled.<br></div><br>Seems like there was an issue with autoneg. This is not fully clear to me as after the first phy reset in the kernel phy code we do the hw_init in the driver and set BMCR_RESET | BMCR_ANENABLE.<br></div><div>This seems to re-establish autoneg support for other members of the AR8xxx switch chip family but not for AR8216.<br></div><div>For AR8216 the BMCR_ANENABLE flag seems to be ignored.<br></div><div></div><div>However I can't test this as I have no 8216-based device and no datasheet.<br><br></div><div>Maybe to make AR8216 happy we have to enable autoneg explicitely like this before resetting?<br>mdiobus_write<span class="">(</span>bus<span class="">,</span> i<span class="">,</span> MII_BMCR<span class="">,</span> BMCR_ANENABLE<span class="">);</span><br></div><div>mdiobus_write<span class="">(</span>bus<span class="">,</span> i<span class="">,</span> MII_BMCR<span class="">,</span> BMCR_RESET <span class="">|</span> BMCR_ANENABLE<span class="">);<br></span></div><div><span class="">For the other AR8xxx switches this isn't needed but doesn't disturb.<br></span></div><div><div><br></div><div>Anybody with a 8216-based device who can test this?<br><br></div><div>However changeset 43410 disabled the additional phy reset. This makes 8216-based devices work properly again so there's no uregent need to check this.<br></div><div><br></div><div>Heiner<br></div></div></div>