[RTNL]: Improve error codes for unsupported operations

The most common trigger of these errors is that the
config option hasn't been enable wich would make the
functionality available. Therefore returning EOPNOTSUPP
gives a better idea on what is going wrong.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Thomas Graf 2007-04-05 14:35:52 -07:00 committed by David S. Miller
parent 716ea3a7aa
commit 038890fed8

View file

@ -862,7 +862,7 @@ static int rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
type = nlh->nlmsg_type;
if (type > RTM_MAX)
return -EINVAL;
return -EOPNOTSUPP;
type -= RTM_BASE;
@ -885,7 +885,7 @@ static int rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
dumpit = rtnl_get_dumpit(family, type);
if (dumpit == NULL)
return -EINVAL;
return -EOPNOTSUPP;
return netlink_dump_start(rtnl, skb, nlh, dumpit, NULL);
}
@ -913,7 +913,7 @@ static int rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
doit = rtnl_get_doit(family, type);
if (doit == NULL)
return -EINVAL;
return -EOPNOTSUPP;
return doit(skb, nlh, (void *)&rta_buf[0]);
}