aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched')
-rw-r--r--net/sched/sch_qfq.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sched/sch_qfq.c b/net/sched/sch_qfq.c
index 2c5ff6148589..e68cb440756a 100644
--- a/net/sched/sch_qfq.c
+++ b/net/sched/sch_qfq.c
@@ -818,11 +818,11 @@ skip_unblock:
818static void qfq_update_start(struct qfq_sched *q, struct qfq_class *cl) 818static void qfq_update_start(struct qfq_sched *q, struct qfq_class *cl)
819{ 819{
820 unsigned long mask; 820 unsigned long mask;
821 uint32_t limit, roundedF; 821 u64 limit, roundedF;
822 int slot_shift = cl->grp->slot_shift; 822 int slot_shift = cl->grp->slot_shift;
823 823
824 roundedF = qfq_round_down(cl->F, slot_shift); 824 roundedF = qfq_round_down(cl->F, slot_shift);
825 limit = qfq_round_down(q->V, slot_shift) + (1UL << slot_shift); 825 limit = qfq_round_down(q->V, slot_shift) + (1ULL << slot_shift);
826 826
827 if (!qfq_gt(cl->F, q->V) || qfq_gt(roundedF, limit)) { 827 if (!qfq_gt(cl->F, q->V) || qfq_gt(roundedF, limit)) {
828 /* timestamp was stale */ 828 /* timestamp was stale */