From: Jesse Brandeburg <[email protected]>

The driver needs to inform the user if there is an issue
with the topology / configuration of the link.

Signed-off-by: Jesse Brandeburg <[email protected]>
Tested-by: Andrew Bowers <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
---
 drivers/net/ethernet/intel/ice/ice_main.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/drivers/net/ethernet/intel/ice/ice_main.c 
b/drivers/net/ethernet/intel/ice/ice_main.c
index 905aab017e6f..732397a2e8fa 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -613,6 +613,22 @@ static void ice_reset_subtask(struct ice_pf *pf)
        }
 }
 
+/**
+ * ice_print_topo_conflict - print topology conflict message
+ * @vsi: the VSI whose topology status is being checked
+ */
+static void ice_print_topo_conflict(struct ice_vsi *vsi)
+{
+       switch (vsi->port_info->phy.link_info.topo_media_conflict) {
+       case ICE_AQ_LINK_TOPO_CONFLICT:
+       case ICE_AQ_LINK_MEDIA_CONFLICT:
+               netdev_info(vsi->netdev, "Possible mis-configuration of the 
Ethernet port detected, please use the Intel(R) Ethernet Port Configuration 
Tool application to address the issue.\n");
+               break;
+       default:
+               break;
+       }
+}
+
 /**
  * ice_print_link_msg - print link up or down message
  * @vsi: the VSI whose link status is being queried
@@ -742,6 +758,7 @@ void ice_print_link_msg(struct ice_vsi *vsi, bool isup)
 done:
        netdev_info(vsi->netdev, "NIC Link is up %sbps, Requested FEC: %s, FEC: 
%s, Autoneg: %s, Flow Control: %s\n",
                    speed, fec_req, fec, an, fc);
+       ice_print_topo_conflict(vsi);
 }
 
 /**
-- 
2.21.0

Reply via email to