⛏️ index : haiku.git

author Augustin Cavalier <waddlesplash@gmail.com> 2018-09-12 23:15:36.0 -04:00:00
committer waddlesplash <waddlesplash@gmail.com> 2018-09-13 4:14:13.0 +00:00:00
commit
a0cb3e066a74ef28b92d89b1ded4e1c376f49ddd [patch]
tree
567b2a9751a444c6c3474287db71e60a9c660474
parent
549b4453f0f29d5a1cdfcc99db4442c811969705
download
a0cb3e066a74ef28b92d89b1ded4e1c376f49ddd.tar.gz

network/ethernet: ioctl returns -1 and stores the error in errno.

Previously, if a device driver returned an error of any kind, -1 was
propagated the rest of the way up through the stack instead of the
actual error code.

Change-Id: I6839763c6b2eb86d6112d3732e6cb80d022f1fe8
Reviewed-on: https://review.haiku-os.org/550
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit e9073260a7054be876ec67bfefbfdaba05ea3142)
Reviewed-on: https://review.haiku-os.org/554

Diff

 src/add-ons/kernel/network/devices/ethernet/ethernet.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/add-ons/kernel/network/devices/ethernet/ethernet.cpp b/src/add-ons/kernel/network/devices/ethernet/ethernet.cpp
index 0e5941a..147a598 100644
--- a/src/add-ons/kernel/network/devices/ethernet/ethernet.cpp
+++ b/src/add-ons/kernel/network/devices/ethernet/ethernet.cpp
@@ -241,7 +241,9 @@
	size_t length)
{
	ethernet_device *device = (ethernet_device *)_device;
	return ioctl(device->fd, op, argument, length);
	if (ioctl(device->fd, op, argument, length) < 0)
		return errno;
	return B_OK;
}