[S390] sysfs_create_xxx return values.
Take return values of sysfs_create_group & friends into account. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:

committed by
Martin Schwidefsky

parent
dc8f5d21dd
commit
d7cf0d57ef
@@ -1106,10 +1106,10 @@ raw3270_delete_device(struct raw3270 *rp)
|
||||
|
||||
/* Remove from device chain. */
|
||||
mutex_lock(&raw3270_mutex);
|
||||
if (rp->clttydev)
|
||||
if (rp->clttydev && !IS_ERR(rp->clttydev))
|
||||
class_device_destroy(class3270,
|
||||
MKDEV(IBM_TTY3270_MAJOR, rp->minor));
|
||||
if (rp->cltubdev)
|
||||
if (rp->cltubdev && !IS_ERR(rp->cltubdev))
|
||||
class_device_destroy(class3270,
|
||||
MKDEV(IBM_FS3270_MAJOR, rp->minor));
|
||||
list_del_init(&rp->list);
|
||||
@@ -1173,21 +1173,37 @@ static struct attribute_group raw3270_attr_group = {
|
||||
.attrs = raw3270_attrs,
|
||||
};
|
||||
|
||||
static void
|
||||
raw3270_create_attributes(struct raw3270 *rp)
|
||||
static int raw3270_create_attributes(struct raw3270 *rp)
|
||||
{
|
||||
//FIXME: check return code
|
||||
sysfs_create_group(&rp->cdev->dev.kobj, &raw3270_attr_group);
|
||||
rp->clttydev =
|
||||
class_device_create(class3270, NULL,
|
||||
MKDEV(IBM_TTY3270_MAJOR, rp->minor),
|
||||
&rp->cdev->dev, "tty%s",
|
||||
rp->cdev->dev.bus_id);
|
||||
rp->cltubdev =
|
||||
class_device_create(class3270, NULL,
|
||||
MKDEV(IBM_FS3270_MAJOR, rp->minor),
|
||||
&rp->cdev->dev, "tub%s",
|
||||
rp->cdev->dev.bus_id);
|
||||
int rc;
|
||||
|
||||
rc = sysfs_create_group(&rp->cdev->dev.kobj, &raw3270_attr_group);
|
||||
if (rc)
|
||||
goto out;
|
||||
|
||||
rp->clttydev = class_device_create(class3270, NULL,
|
||||
MKDEV(IBM_TTY3270_MAJOR, rp->minor),
|
||||
&rp->cdev->dev, "tty%s",
|
||||
rp->cdev->dev.bus_id);
|
||||
if (IS_ERR(rp->clttydev)) {
|
||||
rc = PTR_ERR(rp->clttydev);
|
||||
goto out_ttydev;
|
||||
}
|
||||
|
||||
rp->cltubdev = class_device_create(class3270, NULL,
|
||||
MKDEV(IBM_FS3270_MAJOR, rp->minor),
|
||||
&rp->cdev->dev, "tub%s",
|
||||
rp->cdev->dev.bus_id);
|
||||
if (!IS_ERR(rp->cltubdev))
|
||||
goto out;
|
||||
|
||||
rc = PTR_ERR(rp->cltubdev);
|
||||
class_device_destroy(class3270, MKDEV(IBM_TTY3270_MAJOR, rp->minor));
|
||||
|
||||
out_ttydev:
|
||||
sysfs_remove_group(&rp->cdev->dev.kobj, &raw3270_attr_group);
|
||||
out:
|
||||
return rc;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1255,7 +1271,9 @@ raw3270_set_online (struct ccw_device *cdev)
|
||||
rc = raw3270_reset_device(rp);
|
||||
if (rc)
|
||||
goto failure;
|
||||
raw3270_create_attributes(rp);
|
||||
rc = raw3270_create_attributes(rp);
|
||||
if (rc)
|
||||
goto failure;
|
||||
set_bit(RAW3270_FLAGS_READY, &rp->flags);
|
||||
mutex_lock(&raw3270_mutex);
|
||||
list_for_each_entry(np, &raw3270_notifier, list)
|
||||
|
Reference in New Issue
Block a user