diff --git a/[refs] b/[refs] index c6a07a057f79..62098e959b91 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f216f082b2b37c4943f1e7c393e2786648d48f6f +refs/heads/master: 5c804bfdcca2593422dd6edc2d7db4dba645543c diff --git a/trunk/net/sched/cls_fw.c b/trunk/net/sched/cls_fw.c index f59a2c4aa039..c797d6ada7de 100644 --- a/trunk/net/sched/cls_fw.c +++ b/trunk/net/sched/cls_fw.c @@ -101,9 +101,10 @@ static int fw_classify(struct sk_buff *skb, struct tcf_proto *tp, struct fw_head *head = (struct fw_head*)tp->root; struct fw_filter *f; int r; - u32 id = skb->mark & head->mask; + u32 id = skb->mark; if (head != NULL) { + id &= head->mask; for (f=head->ht[fw_hash(id)]; f; f=f->next) { if (f->id == id) { *res = f->res;