From b4b0db043bc7e03982b24c9e330bf1bc2c727fc0 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Wed, 13 Sep 2017 12:18:21 +0200 Subject: dev: only calculate wireless bitrate if necessary Only call wireless_bitrate (and thus the underlying ioctl) if strictly necessary, i.e. ethtool_bitrate returned 0. Signed-off-by: Tobias Klauser --- dev.c | 9 ++++----- dev.h | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/dev.c b/dev.c index 82d97d2..2ced495 100644 --- a/dev.c +++ b/dev.c @@ -217,14 +217,13 @@ int device_up_and_running(const char *ifname) (IFF_UP | IFF_RUNNING); } -u32 device_bitrate(const char *ifname) +uint32_t device_bitrate(const char *ifname) { - u32 scopper, swireless; + uint32_t scopper; - scopper = ethtool_bitrate(ifname); - swireless = wireless_bitrate(ifname); + scopper = ethtool_bitrate(ifname); - return scopper ? : swireless; + return scopper ? : wireless_bitrate(ifname); } short device_enter_promiscuous_mode(const char *ifname) diff --git a/dev.h b/dev.h index 06e51d2..633ac8c 100644 --- a/dev.h +++ b/dev.h @@ -13,7 +13,7 @@ extern int device_type(const char *ifname); extern short device_get_flags(const char *ifname); extern void device_set_flags(const char *ifname, const short flags); extern int device_up_and_running(const char *ifname); -extern u32 device_bitrate(const char *ifname); +extern uint32_t device_bitrate(const char *ifname); extern short device_enter_promiscuous_mode(const char *ifname); extern void device_leave_promiscuous_mode(const char *ifname, short oldflags); extern const char *device_type2str(uint16_t type); -- cgit v1.2.3-54-g00ecf