diff options
author | Wei Yongjun <weiyj.lk@gmail.com> | 2013-06-21 05:24:27 +0200 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2013-06-24 22:52:22 +0200 |
commit | 80b15043e3450e730d30b71c099ab00d75a551ce (patch) | |
tree | 49e9af32bad895b76c64711ec6d5274fe4c34cdb /drivers/infiniband/core | |
parent | IB/ehca: Fix error return code in ehca_create_slab_caches() (diff) | |
download | linux-80b15043e3450e730d30b71c099ab00d75a551ce.tar.xz linux-80b15043e3450e730d30b71c099ab00d75a551ce.zip |
IB/core: Fix error return code in add_port()
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>
Diffstat (limited to 'drivers/infiniband/core')
-rw-r--r-- | drivers/infiniband/core/sysfs.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/infiniband/core/sysfs.c b/drivers/infiniband/core/sysfs.c index 246fdc151652..d9b78c4d0aad 100644 --- a/drivers/infiniband/core/sysfs.c +++ b/drivers/infiniband/core/sysfs.c @@ -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) |