From: Sergio Gonzalez Monroy Date: Mon, 27 Jul 2015 12:17:55 +0000 (+0100) Subject: eal: fix tsc frequency X-Git-Tag: spdx-start~8634 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=ac7c9f725f62a44671c1cd35d791f8a51f93fe06;hp=799d1c554a6dbce4c4afbdf74f431efd2c9d8c42;p=dpdk.git eal: fix tsc frequency Fix error where TSC freq is 0. The logical OR operator evaluates to 1 if any of its operands is different than 0. Error showed later while initializing PMD: EAL: TSC frequency is ~0 KHz PMD: eth_ixgbe_dev_init(): Hardware Initialization Failure: -30 EAL: Error - exiting with code: 1 Cause: Requested device 0000:84:00.0 cannot be used Fixes: 040cf8a41187 ("eal: deduplicate timer functions") Signed-off-by: Sergio Gonzalez Monroy Acked-by: John McNamara Acked-by: Thomas Monjalon --- diff --git a/lib/librte_eal/common/eal_common_timer.c b/lib/librte_eal/common/eal_common_timer.c index 29567034d7..255f995879 100644 --- a/lib/librte_eal/common/eal_common_timer.c +++ b/lib/librte_eal/common/eal_common_timer.c @@ -77,7 +77,11 @@ estimate_tsc_freq(void) void set_tsc_freq(void) { - uint64_t freq = get_tsc_freq() || estimate_tsc_freq(); + uint64_t freq = get_tsc_freq(); + + if (!freq) + freq = estimate_tsc_freq(); + RTE_LOG(INFO, EAL, "TSC frequency is ~%" PRIu64 " KHz\n", freq / 1000); eal_tsc_resolution_hz = freq; }