X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=kernel%2Fperf_event.c;h=7e32b51ff043b9a7fb47ef17aed2aef295d3de66;hb=4cb6948e5365ab874bb71ac35fb6b7c6dd305765;hp=109c5ec88933aabf389da35cf544943cfbea685f;hpb=89275d59b572b92b1e2f6ddb63c49deecb801ff9;p=karo-tx-linux.git diff --git a/kernel/perf_event.c b/kernel/perf_event.c index 109c5ec88933..7e32b51ff043 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c @@ -1507,6 +1507,9 @@ do { \ divisor = nsec * frequency; } + if (!divisor) + return dividend; + return div64_u64(dividend, divisor); } @@ -1529,7 +1532,7 @@ static int perf_event_start(struct perf_event *event) static void perf_adjust_period(struct perf_event *event, u64 nsec, u64 count) { struct hw_perf_event *hwc = &event->hw; - u64 period, sample_period; + s64 period, sample_period; s64 delta; period = perf_calculate_period(event, nsec, count);