swconfig: release switch in error path of swconfig_get_attr
authorGabor Juhos <juhosg@openwrt.org>
Sun, 13 Jun 2010 11:37:32 +0000 (11:37 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sun, 13 Jun 2010 11:37:32 +0000 (11:37 +0000)
Signed-off-by: Karl Beldan <karl.beldan@sagemcom.com>
SVN-Revision: 21779

target/linux/generic-2.6/files/drivers/net/phy/swconfig.c

index bda2e2d619d093045556c82cbd3c1988019b8e61..fa916982f0894c82ebbd89f93b9a7d8b82b07754 100644 (file)
@@ -688,7 +688,7 @@ swconfig_get_attr(struct sk_buff *skb, struct genl_info *info)
        memset(&val, 0, sizeof(val));
        attr = swconfig_lookup_attr(dev, info, &val);
        if (!attr || !attr->get)
-               goto error_dev;
+               goto error;
 
        if (attr->type == SWITCH_TYPE_PORTS) {
                val.value.ports = dev->portbuf;
@@ -737,9 +737,8 @@ swconfig_get_attr(struct sk_buff *skb, struct genl_info *info)
 nla_put_failure:
        if (msg)
                nlmsg_free(msg);
-error_dev:
-       swconfig_put_dev(dev);
 error:
+       swconfig_put_dev(dev);
        if (!err)
                err = -ENOMEM;
        return err;