|
@@ -641,7 +641,7 @@ static int make_rate (const hrz_dev * dev, u32 c, rounding r,
|
|
|
pre = 1;
|
|
|
break;
|
|
|
case round_nearest:
|
|
|
- pre = (br+(c<<div)/2)/(c<<div);
|
|
|
+ pre = DIV_ROUND_CLOSEST(br, c<<div);
|
|
|
// but p must be non-zero
|
|
|
if (!pre)
|
|
|
pre = 1;
|
|
@@ -671,7 +671,7 @@ static int make_rate (const hrz_dev * dev, u32 c, rounding r,
|
|
|
pre = DIV_ROUND_UP(br, c<<div);
|
|
|
break;
|
|
|
case round_nearest:
|
|
|
- pre = (br+(c<<div)/2)/(c<<div);
|
|
|
+ pre = DIV_ROUND_CLOSEST(br, c<<div);
|
|
|
break;
|
|
|
default: /* round_up */
|
|
|
pre = br/(c<<div);
|