]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
batman-adv: Use ethtool helper to get link status
authorSven Eckelmann <sven@narfation.org>
Sat, 1 Apr 2017 12:47:03 +0000 (14:47 +0200)
committerSimon Wunderlich <sw@simonwunderlich.de>
Mon, 3 Apr 2017 10:57:06 +0000 (12:57 +0200)
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@narfation.org>
Acked-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
net/batman-adv/soft-interface.c

index a9dbcc1590bd355708cd527000f90990283efd64..eff23d519c6f24026220113496f88fe9a88e9712 100644 (file)
@@ -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,
@@ -1119,11 +1118,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.