Goal is to advertise the user when ethtool speeds and 802.3ad speeds are
desynchronized.
When this case happens, the kernel needs to be patched.

Suggested-by: Andrew Lunn <and...@lunn.ch>
Signed-off-by: Nicolas Dichtel <nicolas.dich...@6wind.com>
---

Here is another proposal. Comments are welcome.

v2: use pr_warn_once()
    warn only when speed != SPEED_UNKNOWN

 drivers/net/bonding/bond_3ad.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c
index b44a6aeb346d..165a8009c640 100644
--- a/drivers/net/bonding/bond_3ad.c
+++ b/drivers/net/bonding/bond_3ad.c
@@ -322,6 +322,11 @@ static u16 __get_link_speed(struct port *port)
 
                default:
                        /* unknown speed value from ethtool. shouldn't happen */
+                       if (slave->speed != SPEED_UNKNOWN)
+                               pr_warn_once("%s: unknown ethtool speed (%d) 
for port %d (set it to 0)\n",
+                                            slave->bond->dev->name,
+                                            slave->speed,
+                                            port->actor_port_number);
                        speed = 0;
                        break;
                }
-- 
2.8.1

Reply via email to