From: Michael Stapelberg Date: Sun, 27 Jan 2019 21:32:47 +0000 (+0100) Subject: fix ethernet speed display for 100 Gbit/s cards X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=0e4fd9ad4a4cc7d6c770134a077e91b02f6cd2f0;p=i3%2Fi3status fix ethernet speed display for 100 Gbit/s cards Before this fix, i3status would display 34464 Mbit/s instead of 100000 Mbit/s, because it was only looking at ecmd.speed, ignoring ecmd.speed_hi. --- diff --git a/src/print_eth_info.c b/src/print_eth_info.c index f9e63da..81e74a7 100644 --- a/src/print_eth_info.c +++ b/src/print_eth_info.c @@ -43,7 +43,7 @@ static int print_eth_speed(char *outwalk, const char *interface) { ifr.ifr_data = (caddr_t)&ecmd; (void)strcpy(ifr.ifr_name, interface); if (ioctl(general_socket, SIOCETHTOOL, &ifr) == 0) { - ethspeed = (ecmd.speed == USHRT_MAX ? 0 : ecmd.speed); + ethspeed = (ecmd.speed == USHRT_MAX ? 0 : ethtool_cmd_speed(&ecmd)); return sprintf(outwalk, "%d Mbit/s", ethspeed); } else return sprintf(outwalk, "?");