From 85e5092363d715c9fc8a4801a68786f957c848e1 Mon Sep 17 00:00:00 2001 From: Tambet Ingo Date: Fri, 7 Mar 2008 17:40:31 +0000 Subject: [PATCH] Handle ethernet drivers that try to indicate unknown with negative speed. git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3387 4912f4e0-d625-0410-9fb7-b9a5a253dbdc --- ChangeLog | 6 ++++++ src/nm-device-802-3-ethernet.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 93a96bb7b9..ae0eb19217 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-03-07 Tambet Ingo + + * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle + the case correctly where driver is trying to send -1 for the speed, which gets + casted to u16 and thus is always > 0. + 2008-03-07 Dan Williams * src/nm-hal-manager.c diff --git a/src/nm-device-802-3-ethernet.c b/src/nm-device-802-3-ethernet.c index b78c130520..481395b672 100644 --- a/src/nm-device-802-3-ethernet.c +++ b/src/nm-device-802-3-ethernet.c @@ -578,7 +578,8 @@ nm_device_802_3_ethernet_get_speed (NMDevice8023Ethernet *self) ifr.ifr_data = (char *) &edata; if (ioctl (nm_dev_sock_get_fd (sk), SIOCETHTOOL, &ifr) == -1) goto out; - speed = edata.speed > 0 ? (guint32) edata.speed : 0; + + speed = edata.speed != G_MAXUINT16 ? edata.speed : 0; out: nm_dev_sock_close (sk);