From 5fcc7f71b5c07839ca115a008462ee54f94f29a8 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Tue, 21 Dec 2021 19:17:52 +0100 Subject: [PATCH] ethernet: do not log everytime there is a media change. This code was written with wired ethernet in mind, where changes are rare. However, on wifi the "media" changes all the time (switching between different connection speeds). So, only log linkup and linkdown. The other events are not that important. Change-Id: Iaafb74ceb05a59dedf94184eee23a4e81fa5e983 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4827 Reviewed-by: waddlesplash --- .../network/devices/ethernet/ethernet.cpp | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/add-ons/kernel/network/devices/ethernet/ethernet.cpp b/src/add-ons/kernel/network/devices/ethernet/ethernet.cpp index 110b9ac2c9..2d7153106f 100644 --- a/src/add-ons/kernel/network/devices/ethernet/ethernet.cpp +++ b/src/add-ons/kernel/network/devices/ethernet/ethernet.cpp @@ -67,15 +67,24 @@ update_link_state(ethernet_device *device, bool notify = true) device->link_quality = state.quality; device->link_speed = state.speed; - if (device->media & IFM_ACTIVE) + if (device->media & IFM_ACTIVE) { + if ((device->flags & IFF_LINK) == 0) { + dprintf("%s: link up, media 0x%0x quality %u speed %u\n", + device->name, (unsigned int)device->media, + (unsigned int)device->link_quality, + (unsigned int)device->link_speed); + } device->flags |= IFF_LINK; - else + } else { + if ((device->flags & IFF_LINK) != 0) { + dprintf("%s: link down, media 0x%0x quality %u speed %u\n", + device->name, (unsigned int)device->media, + (unsigned int)device->link_quality, + (unsigned int)device->link_speed); + } device->flags &= ~IFF_LINK; + } - dprintf("%s: media change, media 0x%0x quality %u speed %u\n", - device->name, (unsigned int)device->media, - (unsigned int)device->link_quality, - (unsigned int)device->link_speed); if (notify) sStackModule->device_link_changed(device);