diff options
Diffstat (limited to 'net/sched/cls_u32.c')
-rw-r--r-- | net/sched/cls_u32.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c index 53171029439..c3900820916 100644 --- a/net/sched/cls_u32.c +++ b/net/sched/cls_u32.c | |||
@@ -613,17 +613,7 @@ static int u32_change(struct tcf_proto *tp, unsigned long base, u32 handle, | |||
613 | memcpy(&n->sel, s, sizeof(*s) + s->nkeys*sizeof(struct tc_u32_key)); | 613 | memcpy(&n->sel, s, sizeof(*s) + s->nkeys*sizeof(struct tc_u32_key)); |
614 | n->ht_up = ht; | 614 | n->ht_up = ht; |
615 | n->handle = handle; | 615 | n->handle = handle; |
616 | { | 616 | n->fshift = s->hmask ? ffs(ntohl(s->hmask)) - 1 : 0; |
617 | u8 i = 0; | ||
618 | u32 mask = ntohl(s->hmask); | ||
619 | if (mask) { | ||
620 | while (!(mask & 1)) { | ||
621 | i++; | ||
622 | mask>>=1; | ||
623 | } | ||
624 | } | ||
625 | n->fshift = i; | ||
626 | } | ||
627 | 617 | ||
628 | #ifdef CONFIG_CLS_U32_MARK | 618 | #ifdef CONFIG_CLS_U32_MARK |
629 | if (tb[TCA_U32_MARK-1]) { | 619 | if (tb[TCA_U32_MARK-1]) { |