From: Jesper Juhl This is the drivers/s390/ part of the big kfree cleanup patch. Remove pointless checks for NULL prior to calling kfree() in drivers/s390/. Signed-off-by: Jesper Juhl Acked-by: Cornelia Huck Signed-off-by: Andrew Morton --- drivers/s390/block/dasd.c | 12 ++++-------- drivers/s390/block/dasd_devmap.c | 3 +-- drivers/s390/char/con3215.c | 3 +-- drivers/s390/char/keyboard.c | 15 +++++---------- drivers/s390/char/raw3270.c | 3 +-- drivers/s390/char/tape_core.c | 9 +++------ drivers/s390/cio/cmf.c | 3 +-- drivers/s390/cio/device_ops.c | 6 ++---- drivers/s390/cio/qdio.c | 9 +++------ drivers/s390/crypto/z90main.c | 7 +++---- drivers/s390/net/claw.c | 36 ++++++++++++------------------------ drivers/s390/net/fsm.c | 3 +-- drivers/s390/net/iucv.c | 12 ++++-------- drivers/s390/net/lcs.c | 3 +-- drivers/s390/net/qeth_eddp.c | 3 +-- drivers/s390/scsi/zfcp_aux.c | 3 +-- 16 files changed, 44 insertions(+), 86 deletions(-) diff -puN drivers/s390/block/dasd.c~kfree-cleanup-drivers-s390 drivers/s390/block/dasd.c --- devel/drivers/s390/block/dasd.c~kfree-cleanup-drivers-s390 2005-10-14 01:44:44.000000000 -0700 +++ devel-akpm/drivers/s390/block/dasd.c 2005-10-14 01:44:44.000000000 -0700 @@ -115,8 +115,7 @@ dasd_alloc_device(void) void dasd_free_device(struct dasd_device *device) { - if (device->private) - kfree(device->private); + kfree(device->private); free_page((unsigned long) device->erp_mem); free_pages((unsigned long) device->ccw_mem, 1); kfree(device); @@ -539,8 +538,7 @@ dasd_kmalloc_request(char *magic, int cp if (datasize > 0) { cqr->data = kmalloc(datasize, GFP_ATOMIC | GFP_DMA); if (cqr->data == NULL) { - if (cqr->cpaddr != NULL) - kfree(cqr->cpaddr); + kfree(cqr->cpaddr); kfree(cqr); return ERR_PTR(-ENOMEM); } @@ -615,10 +613,8 @@ dasd_kfree_request(struct dasd_ccw_req * clear_normalized_cda(ccw); } while (ccw++->flags & (CCW_FLAG_CC | CCW_FLAG_DC)); #endif - if (cqr->cpaddr != NULL) - kfree(cqr->cpaddr); - if (cqr->data != NULL) - kfree(cqr->data); + kfree(cqr->cpaddr); + kfree(cqr->data); kfree(cqr); dasd_put_device(device); } diff -puN drivers/s390/block/dasd_devmap.c~kfree-cleanup-drivers-s390 drivers/s390/block/dasd_devmap.c --- devel/drivers/s390/block/dasd_devmap.c~kfree-cleanup-drivers-s390 2005-10-14 01:44:44.000000000 -0700 +++ devel-akpm/drivers/s390/block/dasd_devmap.c 2005-10-14 01:44:44.000000000 -0700 @@ -387,8 +387,7 @@ dasd_add_busid(char *bus_id, int feature new = 0; } spin_unlock(&dasd_devmap_lock); - if (new) - kfree(new); + kfree(new); return devmap; } diff -puN drivers/s390/char/con3215.c~kfree-cleanup-drivers-s390 drivers/s390/char/con3215.c --- devel/drivers/s390/char/con3215.c~kfree-cleanup-drivers-s390 2005-10-14 01:44:44.000000000 -0700 +++ devel-akpm/drivers/s390/char/con3215.c 2005-10-14 01:44:44.000000000 -0700 @@ -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 -puN drivers/s390/char/keyboard.c~kfree-cleanup-drivers-s390 drivers/s390/char/keyboard.c --- devel/drivers/s390/char/keyboard.c~kfree-cleanup-drivers-s390 2005-10-14 01:44:44.000000000 -0700 +++ devel-akpm/drivers/s390/char/keyboard.c 2005-10-14 01:44:44.000000000 -0700 @@ -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, str 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 -puN drivers/s390/char/raw3270.c~kfree-cleanup-drivers-s390 drivers/s390/char/raw3270.c --- devel/drivers/s390/char/raw3270.c~kfree-cleanup-drivers-s390 2005-10-14 01:44:44.000000000 -0700 +++ devel-akpm/drivers/s390/char/raw3270.c 2005-10-14 01:44:44.000000000 -0700 @@ -183,8 +183,7 @@ raw3270_request_alloc_bootmem(size_t siz void raw3270_request_free (struct raw3270_request *rq) { - if (rq->buffer) - kfree(rq->buffer); + kfree(rq->buffer); kfree(rq); } diff -puN drivers/s390/char/tape_core.c~kfree-cleanup-drivers-s390 drivers/s390/char/tape_core.c --- devel/drivers/s390/char/tape_core.c~kfree-cleanup-drivers-s390 2005-10-14 01:44:44.000000000 -0700 +++ devel-akpm/drivers/s390/char/tape_core.c 2005-10-14 01:44:44.000000000 -0700 @@ -682,8 +682,7 @@ tape_alloc_request(int cplength, int dat 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 * 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 -puN drivers/s390/cio/cmf.c~kfree-cleanup-drivers-s390 drivers/s390/cio/cmf.c --- devel/drivers/s390/cio/cmf.c~kfree-cleanup-drivers-s390 2005-10-14 01:44:44.000000000 -0700 +++ devel-akpm/drivers/s390/cio/cmf.c 2005-10-14 01:44:44.000000000 -0700 @@ -642,8 +642,7 @@ static void free_cmbe (struct ccw_device *cdev) { spin_lock_irq(cdev->ccwlock); - if (cdev->private->cmb) - kfree(cdev->private->cmb); + kfree(cdev->private->cmb); cdev->private->cmb = NULL; spin_unlock_irq(cdev->ccwlock); diff -puN drivers/s390/cio/device_ops.c~kfree-cleanup-drivers-s390 drivers/s390/cio/device_ops.c --- devel/drivers/s390/cio/device_ops.c~kfree-cleanup-drivers-s390 2005-10-14 01:44:44.000000000 -0700 +++ devel-akpm/drivers/s390/cio/device_ops.c 2005-10-14 01:44:44.000000000 -0700 @@ -550,10 +550,8 @@ ccw_device_stlck(struct ccw_device *cdev /* Clear irb. */ memset(&cdev->private->irb, 0, sizeof(struct irb)); out_unlock: - if (buf) - kfree(buf); - if (buf2) - kfree(buf2); + kfree(buf); + kfree(buf2); spin_unlock_irqrestore(&sch->lock, flags); return ret; } diff -puN drivers/s390/cio/qdio.c~kfree-cleanup-drivers-s390 drivers/s390/cio/qdio.c --- devel/drivers/s390/cio/qdio.c~kfree-cleanup-drivers-s390 2005-10-14 01:44:44.000000000 -0700 +++ devel-akpm/drivers/s390/cio/qdio.c 2005-10-14 01:44:44.000000000 -0700 @@ -1338,16 +1338,14 @@ qdio_release_irq_memory(struct qdio_irq if (!irq_ptr->input_qs[i]) goto next; - if (irq_ptr->input_qs[i]->slib) - kfree(irq_ptr->input_qs[i]->slib); + kfree(irq_ptr->input_qs[i]->slib); kfree(irq_ptr->input_qs[i]); next: if (!irq_ptr->output_qs[i]) continue; - if (irq_ptr->output_qs[i]->slib) - kfree(irq_ptr->output_qs[i]->slib); + kfree(irq_ptr->output_qs[i]->slib); kfree(irq_ptr->output_qs[i]); } @@ -3315,8 +3313,7 @@ qdio_get_qdio_memory(void) static void qdio_release_qdio_memory(void) { - if (indicators) - kfree(indicators); + kfree(indicators); } static void diff -puN drivers/s390/crypto/z90main.c~kfree-cleanup-drivers-s390 drivers/s390/crypto/z90main.c --- devel/drivers/s390/crypto/z90main.c~kfree-cleanup-drivers-s390 2005-10-14 01:44:44.000000000 -0700 +++ devel-akpm/drivers/s390/crypto/z90main.c 2005-10-14 01:44:44.000000000 -0700 @@ -3051,8 +3051,7 @@ destroy_crypto_device(int index) if (dev_ptr) { disabledFlag = dev_ptr->disabled; t = dev_ptr->dev_type; - if (dev_ptr->dev_resp_p) - kfree(dev_ptr->dev_resp_p); + kfree(dev_ptr->dev_resp_p); kfree(dev_ptr); } else { disabledFlag = 0; @@ -3080,11 +3079,11 @@ static void destroy_z90crypt(void) { int i; + for (i = 0; i < z90crypt.max_count; i++) if (z90crypt.device_p[i]) destroy_crypto_device(i); - if (z90crypt.hdware_info) - kfree((void *)z90crypt.hdware_info); + kfree(z90crypt.hdware_info); memset((void *)&z90crypt, 0, sizeof(z90crypt)); } diff -puN drivers/s390/net/claw.c~kfree-cleanup-drivers-s390 drivers/s390/net/claw.c --- devel/drivers/s390/net/claw.c~kfree-cleanup-drivers-s390 2005-10-14 01:44:44.000000000 -0700 +++ devel-akpm/drivers/s390/net/claw.c 2005-10-14 01:44:44.000000000 -0700 @@ -2743,14 +2743,10 @@ probe_error( struct ccwgroup_device *cgd #endif privptr=(struct claw_privbk *)cgdev->dev.driver_data; if (privptr!=NULL) { - if (privptr->p_env != NULL) { - kfree(privptr->p_env); - privptr->p_env=NULL; - } - if (privptr->p_mtc_envelope!=NULL) { - kfree(privptr->p_mtc_envelope); - privptr->p_mtc_envelope=NULL; - } + kfree(privptr->p_env); + privptr->p_env=NULL; + kfree(privptr->p_mtc_envelope); + privptr->p_mtc_envelope=NULL; kfree(privptr); privptr=NULL; } @@ -4121,22 +4117,14 @@ claw_remove_device(struct ccwgroup_devic if (cgdev->state == CCWGROUP_ONLINE) claw_shutdown_device(cgdev); claw_remove_files(&cgdev->dev); - if (priv->p_mtc_envelope!=NULL) { - kfree(priv->p_mtc_envelope); - priv->p_mtc_envelope=NULL; - } - if (priv->p_env != NULL) { - kfree(priv->p_env); - priv->p_env=NULL; - } - if (priv->channel[0].irb != NULL) { - kfree(priv->channel[0].irb); - priv->channel[0].irb=NULL; - } - if (priv->channel[1].irb != NULL) { - kfree(priv->channel[1].irb); - priv->channel[1].irb=NULL; - } + kfree(priv->p_mtc_envelope); + priv->p_mtc_envelope=NULL; + kfree(priv->p_env); + priv->p_env=NULL; + kfree(priv->channel[0].irb); + priv->channel[0].irb=NULL; + kfree(priv->channel[1].irb); + priv->channel[1].irb=NULL; kfree(priv); cgdev->dev.driver_data=NULL; cgdev->cdev[READ]->dev.driver_data = NULL; diff -puN drivers/s390/net/fsm.c~kfree-cleanup-drivers-s390 drivers/s390/net/fsm.c --- devel/drivers/s390/net/fsm.c~kfree-cleanup-drivers-s390 2005-10-14 01:44:44.000000000 -0700 +++ devel-akpm/drivers/s390/net/fsm.c 2005-10-14 01:44:44.000000000 -0700 @@ -78,8 +78,7 @@ kfree_fsm(fsm_instance *this) { if (this) { if (this->f) { - if (this->f->jumpmatrix) - kfree(this->f->jumpmatrix); + kfree(this->f->jumpmatrix); kfree(this->f); } kfree(this); diff -puN drivers/s390/net/iucv.c~kfree-cleanup-drivers-s390 drivers/s390/net/iucv.c --- devel/drivers/s390/net/iucv.c~kfree-cleanup-drivers-s390 2005-10-14 01:44:44.000000000 -0700 +++ devel-akpm/drivers/s390/net/iucv.c 2005-10-14 01:44:44.000000000 -0700 @@ -447,14 +447,10 @@ static void iucv_exit(void) { iucv_retrieve_buffer(); - if (iucv_external_int_buffer) { - kfree(iucv_external_int_buffer); - iucv_external_int_buffer = NULL; - } - if (iucv_param_pool) { - kfree(iucv_param_pool); - iucv_param_pool = NULL; - } + kfree(iucv_external_int_buffer); + iucv_external_int_buffer = NULL; + kfree(iucv_param_pool); + iucv_param_pool = NULL; s390_root_dev_unregister(iucv_root); bus_unregister(&iucv_bus); printk(KERN_INFO "IUCV lowlevel driver unloaded\n"); diff -puN drivers/s390/net/lcs.c~kfree-cleanup-drivers-s390 drivers/s390/net/lcs.c --- devel/drivers/s390/net/lcs.c~kfree-cleanup-drivers-s390 2005-10-14 01:44:44.000000000 -0700 +++ devel-akpm/drivers/s390/net/lcs.c 2005-10-14 01:44:44.000000000 -0700 @@ -145,8 +145,7 @@ lcs_free_channel(struct lcs_channel *cha LCS_DBF_TEXT(2, setup, "ichfree"); for (cnt = 0; cnt < LCS_NUM_BUFFS; cnt++) { - if (channel->iob[cnt].data != NULL) - kfree(channel->iob[cnt].data); + kfree(channel->iob[cnt].data); channel->iob[cnt].data = NULL; } } diff -puN drivers/s390/net/qeth_eddp.c~kfree-cleanup-drivers-s390 drivers/s390/net/qeth_eddp.c --- devel/drivers/s390/net/qeth_eddp.c~kfree-cleanup-drivers-s390 2005-10-14 01:44:44.000000000 -0700 +++ devel-akpm/drivers/s390/net/qeth_eddp.c 2005-10-14 01:44:44.000000000 -0700 @@ -62,8 +62,7 @@ qeth_eddp_free_context(struct qeth_eddp_ for (i = 0; i < ctx->num_pages; ++i) free_page((unsigned long)ctx->pages[i]); kfree(ctx->pages); - if (ctx->elements != NULL) - kfree(ctx->elements); + kfree(ctx->elements); kfree(ctx); } diff -puN drivers/s390/scsi/zfcp_aux.c~kfree-cleanup-drivers-s390 drivers/s390/scsi/zfcp_aux.c --- devel/drivers/s390/scsi/zfcp_aux.c~kfree-cleanup-drivers-s390 2005-10-14 01:44:44.000000000 -0700 +++ devel-akpm/drivers/s390/scsi/zfcp_aux.c 2005-10-14 01:44:44.000000000 -0700 @@ -450,8 +450,7 @@ zfcp_cfdc_dev_ioctl(struct file *file, u kfree(sg_list); } - if (sense_data != NULL) - kfree(sense_data); + kfree(sense_data); return retval; } _