netdev-linux: Fix netdev_linux_send() return value in corner case.
authorBen Pfaff <blp@nicira.com>
Tue, 26 Feb 2013 20:35:40 +0000 (12:35 -0800)
committerBen Pfaff <blp@nicira.com>
Thu, 28 Feb 2013 18:46:12 +0000 (10:46 -0800)
A negative 'sock' means there was an error but netdev_linux_send() returns
a positive errno value on error.

Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/netdev-linux.c

index 1fac087..14e217a 100644 (file)
@@ -941,7 +941,7 @@ netdev_linux_send(struct netdev *netdev_, const void *data, size_t size)
 
             sock = af_packet_sock();
             if (sock < 0) {
-                return sock;
+                return -sock;
             }
 
             error = get_ifindex(netdev_, &ifindex);