* src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
correct speed reporting for fast devices (kernel >= 2.6.27).
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4226
4912f4e0-d625-0410-9fb7-
b9a5a253dbdc
+2008-10-27 Tambet Ingo <tambet@gmail.com>
+
+ * src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
+ correct speed reporting for fast devices (kernel >= 2.6.27).
+
2008-10-26 Dan Williams <dcbw@redhat.com>
Attempt to compensate for modems that don't enable full AT parsing before
#include <stdlib.h>
#include <linux/types.h>
#include <linux/sockios.h>
+#include <linux/version.h>
#include <linux/ethtool.h>
#include <sys/ioctl.h>
#include <unistd.h>
if (ioctl (fd, SIOCETHTOOL, &ifr) == -1)
goto out;
- speed = edata.speed != G_MAXUINT16 ? edata.speed : 0;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
+ speed = edata.speed;
+#else
+ speed = ethtool_cmd_speed (&edata);
+#endif
+
+ if (speed == G_MAXUINT16 || speed == G_MAXUINT32)
+ speed = 0;
out:
close (fd);