# This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/12/30 03:52:40+01:00 kaber@coreworks.de # [PKT_SCHED]: Return proper error codes in tcf_pedit_init # # Signed-off-by: Patrick McHardy # # net/sched/pedit.c # 2004/12/30 03:52:34+01:00 kaber@coreworks.de +7 -7 # [PKT_SCHED]: Return proper error codes in tcf_pedit_init # # Signed-off-by: Patrick McHardy # diff -Nru a/net/sched/pedit.c b/net/sched/pedit.c --- a/net/sched/pedit.c 2004-12-30 04:02:05 +01:00 +++ b/net/sched/pedit.c 2004-12-30 04:02:05 +01:00 @@ -64,26 +64,26 @@ struct tcf_pedit *p; if (rtattr_parse(tb, TCA_PEDIT_MAX, RTA_DATA(rta), RTA_PAYLOAD(rta)) < 0) - return -1; - if (tb[TCA_PEDIT_PARMS - 1] == NULL) { - printk("BUG: tcf_pedit_init called with NULL params\n"); - return -1; - } + return -EINVAL; + if (tb[TCA_PEDIT_PARMS - 1] == NULL) + return -EINVAL; parm = RTA_DATA(tb[TCA_PEDIT_PARMS - 1]); p = tcf_hash_check(parm, a, ovr, bind); if (p == NULL) { /* new */ if (!parm->nkeys) - return -1; + return -EINVAL; size = sizeof(*p) + parm->nkeys * sizeof(struct tc_pedit_key); p = tcf_hash_create(parm, est, a, size, ovr, bind); if (p == NULL) - return -1; + return -ENOMEM; ret = 1; goto override; } + ret = -EEXIST; if (ovr) { + ret = 0; override: p->flags = parm->flags; p->nkeys = parm->nkeys;