IB/core: Fix error return code in add_port()
authorWei Yongjun <weiyj.lk@gmail.com>
Fri, 21 Jun 2013 03:24:27 +0000 (11:24 +0800)
committerRoland Dreier <roland@purestorage.com>
Mon, 24 Jun 2013 20:52:22 +0000 (13:52 -0700)
Fix to return -ENOMEM in the add_port() error handling case instead of
0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/core/sysfs.c

index 246fdc1516524cbc31940a6ed946e9b14ec741e8..d9b78c4d0aadf08f64c4fdf7a857531ed5a01ff9 100644 (file)
@@ -545,8 +545,10 @@ static int add_port(struct ib_device *device, int port_num,
 
        p->gid_group.name  = "gids";
        p->gid_group.attrs = alloc_group_attrs(show_port_gid, attr.gid_tbl_len);
-       if (!p->gid_group.attrs)
+       if (!p->gid_group.attrs) {
+               ret = -ENOMEM;
                goto err_remove_pma;
+       }
 
        ret = sysfs_create_group(&p->kobj, &p->gid_group);
        if (ret)
@@ -555,8 +557,10 @@ static int add_port(struct ib_device *device, int port_num,
        p->pkey_group.name  = "pkeys";
        p->pkey_group.attrs = alloc_group_attrs(show_port_pkey,
                                                attr.pkey_tbl_len);
-       if (!p->pkey_group.attrs)
+       if (!p->pkey_group.attrs) {
+               ret = -ENOMEM;
                goto err_remove_gid;
+       }
 
        ret = sysfs_create_group(&p->kobj, &p->pkey_group);
        if (ret)