[commits] [batman-adv] master: batman-adv: Use ethtool helper to get link status (9e8d507)

postmaster at open-mesh.org postmaster at open-mesh.org
Mon Apr 3 18:10:12 CEST 2017

Repository : ssh://git@open-mesh.org/batman-adv

On branch  : master


commit 9e8d507dcb21278d0621fe8290910621d187c5d3
Author: Sven Eckelmann <sven at narfation.org>
Date:   Sat Apr 1 14:47:03 2017 +0200

    batman-adv: Use ethtool helper to get link status
    The ethtool_ops of batman-adv never contained more than a stub for the
    get_link function pointer. It was always returning that a link exists even
    when the devices was not yet up and therefore nothing resampling a link
    could have been available.
    Instead use the ethtool helper which returns the current carrier state.
    Signed-off-by: Sven Eckelmann <sven at narfation.org>
    Acked-by: Marek Lindner <mareklindner at neomailbox.ch>
    Signed-off-by: Simon Wunderlich <sw at simonwunderlich.de>


 net/batman-adv/soft-interface.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c
index c594088..583fcfc 100644
--- a/net/batman-adv/soft-interface.c
+++ b/net/batman-adv/soft-interface.c
@@ -69,7 +69,6 @@ static void batadv_get_drvinfo(struct net_device *dev,
 			       struct ethtool_drvinfo *info);
 static u32 batadv_get_msglevel(struct net_device *dev);
 static void batadv_set_msglevel(struct net_device *dev, u32 value);
-static u32 batadv_get_link(struct net_device *dev);
 static void batadv_get_strings(struct net_device *dev, u32 stringset, u8 *data);
 static void batadv_get_ethtool_stats(struct net_device *dev,
 				     struct ethtool_stats *stats, u64 *data);
@@ -80,7 +79,7 @@ static const struct ethtool_ops batadv_ethtool_ops = {
 	.get_drvinfo = batadv_get_drvinfo,
 	.get_msglevel = batadv_get_msglevel,
 	.set_msglevel = batadv_set_msglevel,
-	.get_link = batadv_get_link,
+	.get_link = ethtool_op_get_link,
 	.get_strings = batadv_get_strings,
 	.get_ethtool_stats = batadv_get_ethtool_stats,
 	.get_sset_count = batadv_get_sset_count,
@@ -1118,11 +1117,6 @@ static void batadv_set_msglevel(struct net_device *dev, u32 value)
-static u32 batadv_get_link(struct net_device *dev)
-	return 1;
 /* Inspired by drivers/net/ethernet/dlink/sundance.c:1702
  * Declare each description string in struct.name[] to get fixed sized buffer
  * and compile time checking for strings longer than ETH_GSTRING_LEN.

More information about the commits mailing list