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 56cb258..ae5490d 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.7.9.5

-- 
_______________________________________________
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto

Reply via email to