diff --git a/[refs] b/[refs] index b3eacafa9966..72e90466ee2f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 43da5f2e0d0c69ded3d51907d9552310a6b545e8 +refs/heads/master: 16c0b164bd24d44db137693a36b428ba28970c62 diff --git a/trunk/net/sched/act_mirred.c b/trunk/net/sched/act_mirred.c index fe81cc18e9e0..9c0fd0c78814 100644 --- a/trunk/net/sched/act_mirred.c +++ b/trunk/net/sched/act_mirred.c @@ -200,13 +200,12 @@ static int tcf_mirred(struct sk_buff *skb, const struct tc_action *a, out: if (err) { m->tcf_qstats.overlimits++; - /* should we be asking for packet to be dropped? - * may make sense for redirect case only - */ - retval = TC_ACT_SHOT; - } else { + if (m->tcfm_eaction != TCA_EGRESS_MIRROR) + retval = TC_ACT_SHOT; + else + retval = m->tcf_action; + } else retval = m->tcf_action; - } spin_unlock(&m->tcf_lock); return retval;