amd-xgbe: Fix flow control setting logic
The flow control negotiation logic is flawed and does not properly
advertise and process auto-negotiation of the flow control settings.
Update the flow control support to properly set the flow control
auto-negotiation settings and process the results approrpriately.
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/drivers/net/ethernet/amd/xgbe/xgbe.h b/drivers/net/ethernet/amd/xgbe/xgbe.h
index f535d19..63d72a1 100644
--- a/drivers/net/ethernet/amd/xgbe/xgbe.h
+++ b/drivers/net/ethernet/amd/xgbe/xgbe.h
@@ -539,10 +539,12 @@
int autoneg;
int speed;
int duplex;
- int pause;
- int asym_pause;
int link;
+
+ int pause_autoneg;
+ int tx_pause;
+ int rx_pause;
};
struct xgbe_mmc_stats {
@@ -910,8 +912,6 @@
phy_interface_t phy_mode;
int phy_link;
int phy_speed;
- unsigned int phy_tx_pause;
- unsigned int phy_rx_pause;
/* MDIO/PHY related settings */
struct xgbe_phy phy;