mirror of https://gitee.com/openkylin/linux.git
[S390] cio: channel path memory leak
Move dev_set_name to when we know that the device will actually be registered in order to avoid a memory leak if the allocated memory for the channel path has to be freed. Signed-off-by: Michael Ernst <mernst@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
6a03f5f0a0
commit
ec00440786
|
@ -393,7 +393,6 @@ int chp_new(struct chp_id chpid)
|
||||||
chp->state = 1;
|
chp->state = 1;
|
||||||
chp->dev.parent = &channel_subsystems[chpid.cssid]->device;
|
chp->dev.parent = &channel_subsystems[chpid.cssid]->device;
|
||||||
chp->dev.release = chp_release;
|
chp->dev.release = chp_release;
|
||||||
dev_set_name(&chp->dev, "chp%x.%02x", chpid.cssid, chpid.id);
|
|
||||||
|
|
||||||
/* Obtain channel path description and fill it in. */
|
/* Obtain channel path description and fill it in. */
|
||||||
ret = chsc_determine_base_channel_path_desc(chpid, &chp->desc);
|
ret = chsc_determine_base_channel_path_desc(chpid, &chp->desc);
|
||||||
|
@ -411,6 +410,7 @@ int chp_new(struct chp_id chpid)
|
||||||
} else {
|
} else {
|
||||||
chp->cmg = -1;
|
chp->cmg = -1;
|
||||||
}
|
}
|
||||||
|
dev_set_name(&chp->dev, "chp%x.%02x", chpid.cssid, chpid.id);
|
||||||
|
|
||||||
/* make it known to the system */
|
/* make it known to the system */
|
||||||
ret = device_register(&chp->dev);
|
ret = device_register(&chp->dev);
|
||||||
|
|
Loading…
Reference in New Issue