diff options
author | Felix Beck <felix.beck@de.ibm.com> | 2009-08-24 16:40:42 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-08-24 16:40:50 +0200 |
commit | bd40ad6d4dea330b20b8b6684a523b76a8d40ddb (patch) | |
tree | e7fc1e867f94749412c729eedb650a5e52c3e99d /drivers/s390 | |
parent | 4d66c86a80e69d2419631b67034ab99fce475ffb (diff) |
[S390] zcrypt: Free ap_device if dev_set_name fails.
If dev_set_name fails during scanning the AP bus, the reserved memory
has to be freed.
Signed-off-by: Felix Beck <felix.beck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390')
-rw-r--r-- | drivers/s390/crypto/ap_bus.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/s390/crypto/ap_bus.c b/drivers/s390/crypto/ap_bus.c index 252b27882874..f6f9ae22330e 100644 --- a/drivers/s390/crypto/ap_bus.c +++ b/drivers/s390/crypto/ap_bus.c @@ -1118,8 +1118,11 @@ static void ap_scan_bus(struct work_struct *unused) ap_dev->device.bus = &ap_bus_type; ap_dev->device.parent = ap_root_device; - dev_set_name(&ap_dev->device, "card%02x", - AP_QID_DEVICE(ap_dev->qid)); + if (dev_set_name(&ap_dev->device, "card%02x", + AP_QID_DEVICE(ap_dev->qid))) { + kfree(ap_dev); + continue; + } ap_dev->device.release = ap_device_release; rc = device_register(&ap_dev->device); if (rc) { |