From aff473ee28903775e1bb35793b9c4c50ee0c7270 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Tue, 22 Dec 2020 12:23:33 +0100 Subject: [PATCH] ifprop.c: fix build with kernel < 4.6 Build fails with kernel headers < 4.6 since version 2.6.0 and https://github.com/Atoptool/atop/commit/08c622ecaa5bb0bb260984ceaddc4730d1b312a7 Indeed, ethtool_link_settings and ETHTOOL_GLINKSETTINGS are only available since https://github.com/torvalds/linux/commit/3f1ac7a700d039c61d8d8b99f28d605d489a60cf Signed-off-by: Fabrice Fontaine --- ifprop.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ifprop.c b/ifprop.c index 60fa3fa..63fce5a 100644 --- a/ifprop.c +++ b/ifprop.c @@ -104,7 +104,9 @@ initifprop(void) char *cp, linebuf[2048]; int i=0, sockfd; +#ifdef ETHTOOL_GLINKSETTINGS struct ethtool_link_settings ethlink; // preferred! +#endif struct ethtool_cmd ethcmd; // deprecated struct ifreq ifreq; @@ -153,6 +155,7 @@ initifprop(void) strncpy((void *)&ifreq.ifr_ifrn.ifrn_name, ifprops[i].name, sizeof ifreq.ifr_ifrn.ifrn_name-1); +#ifdef ETHTOOL_GLINKSETTINGS ethlink.cmd = ETHTOOL_GLINKSETTINGS; ifreq.ifr_ifru.ifru_data = (void *)ðlink; @@ -164,6 +167,7 @@ initifprop(void) phy_addr = ethlink.phy_address; } else +#endif { ethcmd.cmd = ETHTOOL_GSET; ifreq.ifr_ifru.ifru_data = (void *)ðcmd;