From: John Jacques <john.jacq...@lsi.com> The original hardware disabled auto negotiation. This was anticipated by the driver, but the hardware did not work as expected. The PHY status registers did not return the correctly values. As a work around, until auto negotiation could be re-enabled, we forced the MAC into half duplex mode. This mitigates the problem, but does not solve it. Most of the boards have been fixed at this point.
Signed-off-by: John Jacques <john.jacq...@lsi.com> --- drivers/net/ethernet/lsi/lsi_acp_net.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/lsi/lsi_acp_net.c b/drivers/net/ethernet/lsi/lsi_acp_net.c index 331c8e4..cfd8106 100644 --- a/drivers/net/ethernet/lsi/lsi_acp_net.c +++ b/drivers/net/ethernet/lsi/lsi_acp_net.c @@ -181,6 +181,11 @@ static void appnic_handle_link_change(struct net_device *dev) status_change = 1; } +#ifdef AMARILLO_WA + rx_configuration &= ~0x1000; + tx_configuration &= ~0x1000; +#endif + if (status_change) { if (phydev->link) { netif_carrier_on(dev); @@ -193,11 +198,6 @@ static void appnic_handle_link_change(struct net_device *dev) netdev_info(dev, "link down\n"); } -#ifdef AMARILLO_WA - rx_configuration &= ~0x1000; - tx_configuration &= ~0x1000; -#endif - if (rx_configuration != read_mac(APPNIC_RX_CONF)) write_mac(rx_configuration, APPNIC_RX_CONF); -- 1.8.4.3 _______________________________________________ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto