diff options
-rw-r--r-- | drivers/media/tuners/qm1d1c0042.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/tuners/qm1d1c0042.c b/drivers/media/tuners/qm1d1c0042.c index 585594b9c4f8..18bc745ed108 100644 --- a/drivers/media/tuners/qm1d1c0042.c +++ b/drivers/media/tuners/qm1d1c0042.c @@ -28,6 +28,7 @@ */ #include <linux/kernel.h> +#include <linux/math64.h> #include "qm1d1c0042.h" #define QM1D1C0042_NUM_REGS 0x20 @@ -234,7 +235,9 @@ static int qm1d1c0042_set_params(struct dvb_frontend *fe) * sd = b (b >= 0) * 1<<22 + b (b < 0) */ - b = (((s64) freq) << 20) / state->cfg.xtal_freq - (((s64) a) << 20); + b = (s32)div64_s64(((s64) freq) << 20, state->cfg.xtal_freq) + - (((s64) a) << 20); + if (b >= 0) sd = b; else |