summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@distanz.ch>2017-09-13 12:18:21 +0200
committerTobias Klauser <tklauser@distanz.ch>2017-09-13 12:18:21 +0200
commitb4b0db043bc7e03982b24c9e330bf1bc2c727fc0 (patch)
tree9c46585911a622d80c54840be91157247f4a43b8
parent439af62bca4794d78d53fb4634f560d6a75f0adb (diff)
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 <tklauser@distanz.ch>
-rw-r--r--dev.c9
-rw-r--r--dev.h2
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);