diff options
Diffstat (limited to 'drivers/s390/char')
-rw-r--r-- | drivers/s390/char/con3215.c | 3 | ||||
-rw-r--r-- | drivers/s390/char/keyboard.c | 15 | ||||
-rw-r--r-- | drivers/s390/char/raw3270.c | 3 | ||||
-rw-r--r-- | drivers/s390/char/tape_core.c | 9 | ||||
-rw-r--r-- | drivers/s390/char/vmcp.c | 4 |
5 files changed, 13 insertions, 21 deletions
diff --git a/drivers/s390/char/con3215.c b/drivers/s390/char/con3215.c index f11a67fda40e..75419cf9d353 100644 --- a/drivers/s390/char/con3215.c +++ b/drivers/s390/char/con3215.c @@ -727,8 +727,7 @@ raw3215_remove (struct ccw_device *cdev) raw = cdev->dev.driver_data; if (raw) { cdev->dev.driver_data = NULL; - if (raw->buffer) - kfree(raw->buffer); + kfree(raw->buffer); kfree(raw); } } diff --git a/drivers/s390/char/keyboard.c b/drivers/s390/char/keyboard.c index fd43d99b45a3..5bda2340a39d 100644 --- a/drivers/s390/char/keyboard.c +++ b/drivers/s390/char/keyboard.c @@ -99,13 +99,11 @@ out_fn_handler: kfree(kbd->fn_handler); out_func: for (i = 0; i < ARRAY_SIZE(func_table); i++) - if (kbd->func_table[i]) - kfree(kbd->func_table[i]); + kfree(kbd->func_table[i]); kfree(kbd->func_table); out_maps: for (i = 0; i < ARRAY_SIZE(key_maps); i++) - if (kbd->key_maps[i]) - kfree(kbd->key_maps[i]); + kfree(kbd->key_maps[i]); kfree(kbd->key_maps); out_kbd: kfree(kbd); @@ -121,12 +119,10 @@ kbd_free(struct kbd_data *kbd) kfree(kbd->accent_table); kfree(kbd->fn_handler); for (i = 0; i < ARRAY_SIZE(func_table); i++) - if (kbd->func_table[i]) - kfree(kbd->func_table[i]); + kfree(kbd->func_table[i]); kfree(kbd->func_table); for (i = 0; i < ARRAY_SIZE(key_maps); i++) - if (kbd->key_maps[i]) - kfree(kbd->key_maps[i]); + kfree(kbd->key_maps[i]); kfree(kbd->key_maps); kfree(kbd); } @@ -452,8 +448,7 @@ do_kdgkb_ioctl(struct kbd_data *kbd, struct kbsentry __user *u_kbs, return -EFAULT; } p[len] = 0; - if (kbd->func_table[kb_func]) - kfree(kbd->func_table[kb_func]); + kfree(kbd->func_table[kb_func]); kbd->func_table[kb_func] = p; break; } diff --git a/drivers/s390/char/raw3270.c b/drivers/s390/char/raw3270.c index d66946443dfc..f5b7d360fc10 100644 --- a/drivers/s390/char/raw3270.c +++ b/drivers/s390/char/raw3270.c @@ -183,8 +183,7 @@ raw3270_request_alloc_bootmem(size_t size) void raw3270_request_free (struct raw3270_request *rq) { - if (rq->buffer) - kfree(rq->buffer); + kfree(rq->buffer); kfree(rq); } diff --git a/drivers/s390/char/tape_core.c b/drivers/s390/char/tape_core.c index 6c52e8307dc5..8f486e1a8507 100644 --- a/drivers/s390/char/tape_core.c +++ b/drivers/s390/char/tape_core.c @@ -682,8 +682,7 @@ tape_alloc_request(int cplength, int datasize) request->cpdata = kmalloc(datasize, GFP_KERNEL | GFP_DMA); if (request->cpdata == NULL) { DBF_EXCEPTION(1, "cqra nomem\n"); - if (request->cpaddr != NULL) - kfree(request->cpaddr); + kfree(request->cpaddr); kfree(request); return ERR_PTR(-ENOMEM); } @@ -706,10 +705,8 @@ tape_free_request (struct tape_request * request) if (request->device != NULL) { request->device = tape_put_device(request->device); } - if (request->cpdata != NULL) - kfree(request->cpdata); - if (request->cpaddr != NULL) - kfree(request->cpaddr); + kfree(request->cpdata); + kfree(request->cpaddr); kfree(request); } diff --git a/drivers/s390/char/vmcp.c b/drivers/s390/char/vmcp.c index 8990d8076e7d..19762f3476aa 100644 --- a/drivers/s390/char/vmcp.c +++ b/drivers/s390/char/vmcp.c @@ -103,8 +103,10 @@ vmcp_write(struct file *file, const char __user * buff, size_t count, } cmd[count] = '\0'; session = (struct vmcp_session *)file->private_data; - if (down_interruptible(&session->mutex)) + if (down_interruptible(&session->mutex)) { + kfree(cmd); return -ERESTARTSYS; + } if (!session->response) session->response = (char *)__get_free_pages(GFP_KERNEL | __GFP_REPEAT | GFP_DMA, |