From: Jesper Juhl This is the remaining misc drivers/ part of the big kfree cleanup patch. Remove pointless checks for NULL prior to calling kfree() in misc files in drivers/. Signed-off-by: Jesper Juhl Acked-by: Aristeu Sergio Rozanski Filho Acked-by: Roland Dreier Acked-by: Pierre Ossman Acked-by: Jean Delvare Acked-by: Greg Kroah-Hartman Acked-by: Len Brown Acked-by: "Antonino A. Daplas" Signed-off-by: Andrew Morton --- drivers/acpi/container.c | 6 ++---- drivers/acpi/scan.c | 6 ++---- drivers/acpi/video.c | 12 ++++-------- drivers/block/DAC960.c | 31 +++++++++++-------------------- drivers/block/cciss.c | 12 ++++-------- drivers/fc4/fc.c | 5 ++--- drivers/hwmon/w83781d.c | 6 ++---- drivers/i2c/busses/i2c-amd756-s4882.c | 6 ++---- drivers/ide/ide-cd.c | 18 ++++++------------ drivers/ide/ide-probe.c | 6 ++---- drivers/ide/ide-taskfile.c | 6 ++---- drivers/ide/ide.c | 3 +-- drivers/infiniband/core/mad.c | 6 ++---- drivers/input/misc/uinput.c | 10 +++------- drivers/macintosh/adbhid.c | 3 +-- drivers/mmc/wbsd.c | 3 +-- drivers/parport/probe.c | 21 ++++++++++----------- drivers/parport/share.c | 19 +++++++------------ drivers/pci/hotplug/cpqphp_pci.c | 15 +++++---------- drivers/pcmcia/cistpl.c | 12 ++++-------- drivers/pcmcia/cs.c | 6 ++---- drivers/sbus/char/envctrl.c | 13 +++++-------- drivers/video/i810/i810_main.c | 3 +-- drivers/w1/w1_ds2433.c | 6 ++---- 24 files changed, 83 insertions(+), 151 deletions(-) diff -puN drivers/acpi/container.c~kfree-cleanup-misc-remaining-drivers drivers/acpi/container.c --- devel/drivers/acpi/container.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/acpi/container.c 2005-10-23 12:23:55.000000000 -0700 @@ -118,11 +118,9 @@ static int acpi_container_remove(struct { acpi_status status = AE_OK; struct acpi_container *pc = NULL; - pc = (struct acpi_container *)acpi_driver_data(device); - - if (pc) - kfree(pc); + pc = (struct acpi_container *)acpi_driver_data(device); + kfree(pc); return status; } diff -puN drivers/acpi/scan.c~kfree-cleanup-misc-remaining-drivers drivers/acpi/scan.c --- devel/drivers/acpi/scan.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/acpi/scan.c 2005-10-23 12:23:55.000000000 -0700 @@ -28,8 +28,7 @@ static int acpi_bus_trim(struct acpi_dev static void acpi_device_release(struct kobject *kobj) { struct acpi_device *dev = container_of(kobj, struct acpi_device, kobj); - if (dev->pnp.cid_list) - kfree(dev->pnp.cid_list); + kfree(dev->pnp.cid_list); kfree(dev); } @@ -1117,8 +1116,7 @@ acpi_add_single_object(struct acpi_devic if (!result) *child = device; else { - if (device->pnp.cid_list) - kfree(device->pnp.cid_list); + kfree(device->pnp.cid_list); kfree(device); } diff -puN drivers/acpi/video.c~kfree-cleanup-misc-remaining-drivers drivers/acpi/video.c --- devel/drivers/acpi/video.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/acpi/video.c 2005-10-23 12:23:55.000000000 -0700 @@ -334,8 +334,7 @@ acpi_video_device_lcd_query_levels(struc return_VALUE(0); err: - if (buffer.pointer) - kfree(buffer.pointer); + kfree(buffer.pointer); return_VALUE(status); } @@ -1488,8 +1487,7 @@ static int acpi_video_device_enumerate(s } active_device_list[count].value.int_val = ACPI_VIDEO_HEAD_END; - if (video->attached_array) - kfree(video->attached_array); + kfree(video->attached_array); video->attached_array = active_device_list; video->attached_count = count; @@ -1645,8 +1643,7 @@ static int acpi_video_bus_put_devices(st printk(KERN_WARNING PREFIX "hhuuhhuu bug in acpi video driver.\n"); - if (data->brightness) - kfree(data->brightness); + kfree(data->brightness); kfree(data); } @@ -1831,8 +1828,7 @@ static int acpi_video_bus_remove(struct acpi_video_bus_put_devices(video); acpi_video_bus_remove_fs(device); - if (video->attached_array) - kfree(video->attached_array); + kfree(video->attached_array); kfree(video); return_VALUE(0); diff -puN drivers/block/cciss.c~kfree-cleanup-misc-remaining-drivers drivers/block/cciss.c --- devel/drivers/block/cciss.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/block/cciss.c 2005-10-23 12:23:55.000000000 -0700 @@ -1096,14 +1096,11 @@ static int cciss_ioctl(struct inode *ino cleanup1: if (buff) { for(i=0; icmd_pool_bits) - kfree(hba[i]->cmd_pool_bits); + kfree(hba[i]->cmd_pool_bits); if(hba[i]->cmd_pool) pci_free_consistent(hba[i]->pdev, NR_CMDS * sizeof(CommandList_struct), diff -puN drivers/block/DAC960.c~kfree-cleanup-misc-remaining-drivers drivers/block/DAC960.c --- devel/drivers/block/DAC960.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/block/DAC960.c 2005-10-23 12:23:55.000000000 -0700 @@ -417,14 +417,12 @@ static void DAC960_DestroyAuxiliaryStruc * Remember the beginning of the group, but don't free it * until we've reached the beginning of the next group. */ - if (CommandGroup != NULL) - kfree(CommandGroup); - CommandGroup = Command; + kfree(CommandGroup); + CommandGroup = Command; } Controller->Commands[i] = NULL; } - if (CommandGroup != NULL) - kfree(CommandGroup); + kfree(CommandGroup); if (Controller->CombinedStatusBuffer != NULL) { @@ -435,30 +433,23 @@ static void DAC960_DestroyAuxiliaryStruc if (ScatterGatherPool != NULL) pci_pool_destroy(ScatterGatherPool); - if (Controller->FirmwareType == DAC960_V1_Controller) return; + if (Controller->FirmwareType == DAC960_V1_Controller) + return; if (RequestSensePool != NULL) pci_pool_destroy(RequestSensePool); - for (i = 0; i < DAC960_MaxLogicalDrives; i++) - if (Controller->V2.LogicalDeviceInformation[i] != NULL) - { + for (i = 0; i < DAC960_MaxLogicalDrives; i++) { kfree(Controller->V2.LogicalDeviceInformation[i]); Controller->V2.LogicalDeviceInformation[i] = NULL; - } + } for (i = 0; i < DAC960_V2_MaxPhysicalDevices; i++) { - if (Controller->V2.PhysicalDeviceInformation[i] != NULL) - { - kfree(Controller->V2.PhysicalDeviceInformation[i]); - Controller->V2.PhysicalDeviceInformation[i] = NULL; - } - if (Controller->V2.InquiryUnitSerialNumber[i] != NULL) - { - kfree(Controller->V2.InquiryUnitSerialNumber[i]); - Controller->V2.InquiryUnitSerialNumber[i] = NULL; - } + kfree(Controller->V2.PhysicalDeviceInformation[i]); + Controller->V2.PhysicalDeviceInformation[i] = NULL; + kfree(Controller->V2.InquiryUnitSerialNumber[i]); + Controller->V2.InquiryUnitSerialNumber[i] = NULL; } } diff -puN drivers/fc4/fc.c~kfree-cleanup-misc-remaining-drivers drivers/fc4/fc.c --- devel/drivers/fc4/fc.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/fc4/fc.c 2005-10-23 12:23:55.000000000 -0700 @@ -554,8 +554,8 @@ int fcp_initialize(fc_channel *fcchain, l->logi = kzalloc (count * 3 * sizeof(logi), GFP_KERNEL); l->fcmds = kzalloc (count * sizeof(fcp_cmnd), GFP_KERNEL); if (!l->logi || !l->fcmds) { - if (l->logi) kfree (l->logi); - if (l->fcmds) kfree (l->fcmds); + kfree (l->logi); + kfree (l->fcmds); kfree (l); printk ("FC: Cannot allocate DMA memory for initialization\n"); return -ENOMEM; @@ -674,7 +674,6 @@ int fcp_forceoffline(fc_channel *fcchain atomic_set (&l.todo, count); l.fcmds = kzalloc (count * sizeof(fcp_cmnd), GFP_KERNEL); if (!l.fcmds) { - kfree (l.fcmds); printk ("FC: Cannot allocate memory for forcing offline\n"); return -ENOMEM; } diff -puN drivers/hwmon/w83781d.c~kfree-cleanup-misc-remaining-drivers drivers/hwmon/w83781d.c --- devel/drivers/hwmon/w83781d.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/hwmon/w83781d.c 2005-10-23 12:23:55.000000000 -0700 @@ -976,11 +976,9 @@ w83781d_detect_subclients(struct i2c_ada ERROR_SC_3: i2c_detach_client(data->lm75[0]); ERROR_SC_2: - if (data->lm75[1]) - kfree(data->lm75[1]); + kfree(data->lm75[1]); ERROR_SC_1: - if (data->lm75[0]) - kfree(data->lm75[0]); + kfree(data->lm75[0]); ERROR_SC_0: return err; } diff -puN drivers/i2c/busses/i2c-amd756-s4882.c~kfree-cleanup-misc-remaining-drivers drivers/i2c/busses/i2c-amd756-s4882.c --- devel/drivers/i2c/busses/i2c-amd756-s4882.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/i2c/busses/i2c-amd756-s4882.c 2005-10-23 12:23:55.000000000 -0700 @@ -245,10 +245,8 @@ static void __exit amd756_s4882_exit(voi kfree(s4882_adapter); s4882_adapter = NULL; } - if (s4882_algo) { - kfree(s4882_algo); - s4882_algo = NULL; - } + kfree(s4882_algo); + s4882_algo = NULL; /* Restore physical bus */ if (i2c_add_adapter(&amd756_smbus)) diff -puN drivers/ide/ide.c~kfree-cleanup-misc-remaining-drivers drivers/ide/ide.c --- devel/drivers/ide/ide.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/ide/ide.c 2005-10-23 12:23:55.000000000 -0700 @@ -888,8 +888,7 @@ static int __ide_add_setting(ide_drive_t return 0; abort: up(&ide_setting_sem); - if (setting) - kfree(setting); + kfree(setting); return -1; } diff -puN drivers/ide/ide-cd.c~kfree-cleanup-misc-remaining-drivers drivers/ide/ide-cd.c --- devel/drivers/ide/ide-cd.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/ide/ide-cd.c 2005-10-23 12:23:55.000000000 -0700 @@ -3292,12 +3292,9 @@ static void ide_cd_release(struct kref * ide_drive_t *drive = info->drive; struct gendisk *g = info->disk; - if (info->buffer != NULL) - kfree(info->buffer); - if (info->toc != NULL) - kfree(info->toc); - if (info->changer_info != NULL) - kfree(info->changer_info); + kfree(info->buffer); + kfree(info->toc); + kfree(info->changer_info); if (devinfo->handle == drive && unregister_cdrom(devinfo)) printk(KERN_ERR "%s: %s failed to unregister device from the cdrom " "driver.\n", __FUNCTION__, drive->name); @@ -3487,12 +3484,9 @@ static int ide_cd_probe(struct device *d if (ide_cdrom_setup(drive)) { struct cdrom_device_info *devinfo = &info->devinfo; ide_unregister_subdriver(drive, &ide_cdrom_driver); - if (info->buffer != NULL) - kfree(info->buffer); - if (info->toc != NULL) - kfree(info->toc); - if (info->changer_info != NULL) - kfree(info->changer_info); + kfree(info->buffer); + kfree(info->toc); + kfree(info->changer_info); if (devinfo->handle == drive && unregister_cdrom(devinfo)) printk (KERN_ERR "%s: ide_cdrom_cleanup failed to unregister device from the cdrom driver.\n", drive->name); kfree(info); diff -puN drivers/ide/ide-probe.c~kfree-cleanup-misc-remaining-drivers drivers/ide/ide-probe.c --- devel/drivers/ide/ide-probe.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/ide/ide-probe.c 2005-10-23 12:23:55.000000000 -0700 @@ -1315,10 +1315,8 @@ static void drive_release_dev (struct de drive->devfs_name[0] = '\0'; } ide_remove_drive_from_hwgroup(drive); - if (drive->id != NULL) { - kfree(drive->id); - drive->id = NULL; - } + kfree(drive->id); + drive->id = NULL; drive->present = 0; /* Messed up locking ... */ spin_unlock_irq(&ide_lock); diff -puN drivers/ide/ide-taskfile.c~kfree-cleanup-misc-remaining-drivers drivers/ide/ide-taskfile.c --- devel/drivers/ide/ide-taskfile.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/ide/ide-taskfile.c 2005-10-23 12:23:55.000000000 -0700 @@ -646,10 +646,8 @@ int ide_taskfile_ioctl (ide_drive_t *dri } abort: kfree(req_task); - if (outbuf != NULL) - kfree(outbuf); - if (inbuf != NULL) - kfree(inbuf); + kfree(outbuf); + kfree(inbuf); // printk("IDE Taskfile ioctl ended. rc = %i\n", err); diff -puN drivers/infiniband/core/mad.c~kfree-cleanup-misc-remaining-drivers drivers/infiniband/core/mad.c --- devel/drivers/infiniband/core/mad.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/infiniband/core/mad.c 2005-10-23 12:23:55.000000000 -0700 @@ -510,8 +510,7 @@ static void unregister_mad_agent(struct wait_event(mad_agent_priv->wait, !atomic_read(&mad_agent_priv->refcount)); - if (mad_agent_priv->reg_req) - kfree(mad_agent_priv->reg_req); + kfree(mad_agent_priv->reg_req); ib_dereg_mr(mad_agent_priv->agent.mr); kfree(mad_agent_priv); } @@ -2544,8 +2543,7 @@ error: static void destroy_mad_qp(struct ib_mad_qp_info *qp_info) { ib_destroy_qp(qp_info->qp); - if (qp_info->snoop_table) - kfree(qp_info->snoop_table); + kfree(qp_info->snoop_table); } /* diff -puN drivers/input/misc/uinput.c~kfree-cleanup-misc-remaining-drivers drivers/input/misc/uinput.c --- devel/drivers/input/misc/uinput.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/input/misc/uinput.c 2005-10-23 12:23:55.000000000 -0700 @@ -271,8 +271,7 @@ static int uinput_alloc_device(struct fi goto exit; } - if (dev->name) - kfree(dev->name); + kfree(dev->name); size = strnlen(user_dev->name, UINPUT_MAX_NAME_SIZE) + 1; dev->name = name = kmalloc(size, GFP_KERNEL); @@ -372,11 +371,8 @@ static int uinput_burn_device(struct uin if (test_bit(UIST_CREATED, &udev->state)) uinput_destroy_device(udev); - if (udev->dev->name) - kfree(udev->dev->name); - if (udev->dev->phys) - kfree(udev->dev->phys); - + kfree(udev->dev->name); + kfree(udev->dev->phys); kfree(udev->dev); kfree(udev); diff -puN drivers/macintosh/adbhid.c~kfree-cleanup-misc-remaining-drivers drivers/macintosh/adbhid.c --- devel/drivers/macintosh/adbhid.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/macintosh/adbhid.c 2005-10-23 12:23:55.000000000 -0700 @@ -856,8 +856,7 @@ adbhid_input_register(int id, int defaul static void adbhid_input_unregister(int id) { input_unregister_device(adbhid[id]->input); - if (adbhid[id]->keycode) - kfree(adbhid[id]->keycode); + kfree(adbhid[id]->keycode); kfree(adbhid[id]); adbhid[id] = NULL; } diff -puN drivers/mmc/wbsd.c~kfree-cleanup-misc-remaining-drivers drivers/mmc/wbsd.c --- devel/drivers/mmc/wbsd.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/mmc/wbsd.c 2005-10-23 12:23:55.000000000 -0700 @@ -1595,8 +1595,7 @@ static void __devexit wbsd_release_dma(s if (host->dma_addr) dma_unmap_single(host->mmc->dev, host->dma_addr, WBSD_DMA_SIZE, DMA_BIDIRECTIONAL); - if (host->dma_buffer) - kfree(host->dma_buffer); + kfree(host->dma_buffer); if (host->dma >= 0) free_dma(host->dma); diff -puN drivers/parport/probe.c~kfree-cleanup-misc-remaining-drivers drivers/parport/probe.c --- devel/drivers/parport/probe.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/parport/probe.c 2005-10-23 12:23:55.000000000 -0700 @@ -78,17 +78,15 @@ static void parse_data(struct parport *p u++; } if (!strcmp(p, "MFG") || !strcmp(p, "MANUFACTURER")) { - if (info->mfr) - kfree (info->mfr); + kfree(info->mfr); info->mfr = kstrdup(sep, GFP_KERNEL); } else if (!strcmp(p, "MDL") || !strcmp(p, "MODEL")) { - if (info->model) - kfree (info->model); + kfree(info->model); info->model = kstrdup(sep, GFP_KERNEL); } else if (!strcmp(p, "CLS") || !strcmp(p, "CLASS")) { int i; - if (info->class_name) - kfree (info->class_name); + + kfree(info->class_name); info->class_name = kstrdup(sep, GFP_KERNEL); for (u = sep; *u; u++) *u = toupper(*u); @@ -102,21 +100,22 @@ static void parse_data(struct parport *p info->class = PARPORT_CLASS_OTHER; } else if (!strcmp(p, "CMD") || !strcmp(p, "COMMAND SET")) { - if (info->cmdset) - kfree (info->cmdset); + kfree(info->cmdset); info->cmdset = kstrdup(sep, GFP_KERNEL); /* if it speaks printer language, it's probably a printer */ if (strstr(sep, "PJL") || strstr(sep, "PCL")) guessed_class = PARPORT_CLASS_PRINTER; } else if (!strcmp(p, "DES") || !strcmp(p, "DESCRIPTION")) { - if (info->description) - kfree (info->description); + kfree(info->description); info->description = kstrdup(sep, GFP_KERNEL); } } rock_on: - if (q) p = q+1; else p=NULL; + if (q) + p = q + 1; + else + p = NULL; } /* If the device didn't tell us its class, maybe we have managed to diff -puN drivers/parport/share.c~kfree-cleanup-misc-remaining-drivers drivers/parport/share.c --- devel/drivers/parport/share.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/parport/share.c 2005-10-23 12:23:55.000000000 -0700 @@ -202,16 +202,11 @@ static void free_port (struct parport *p list_del(&port->full_list); spin_unlock(&full_list_lock); for (d = 0; d < 5; d++) { - if (port->probe_info[d].class_name) - kfree (port->probe_info[d].class_name); - if (port->probe_info[d].mfr) - kfree (port->probe_info[d].mfr); - if (port->probe_info[d].model) - kfree (port->probe_info[d].model); - if (port->probe_info[d].cmdset) - kfree (port->probe_info[d].cmdset); - if (port->probe_info[d].description) - kfree (port->probe_info[d].description); + kfree(port->probe_info[d].class_name); + kfree(port->probe_info[d].mfr); + kfree(port->probe_info[d].model); + kfree(port->probe_info[d].cmdset); + kfree(port->probe_info[d].description); } kfree(port->name); @@ -618,9 +613,9 @@ parport_register_device(struct parport * return tmp; out_free_all: - kfree (tmp->state); + kfree(tmp->state); out_free_pardevice: - kfree (tmp); + kfree(tmp); out: parport_put_port (port); module_put(port->ops->owner); diff -puN drivers/pci/hotplug/cpqphp_pci.c~kfree-cleanup-misc-remaining-drivers drivers/pci/hotplug/cpqphp_pci.c --- devel/drivers/pci/hotplug/cpqphp_pci.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/pci/hotplug/cpqphp_pci.c 2005-10-23 12:23:55.000000000 -0700 @@ -259,8 +259,7 @@ static int PCI_GetBusDevHelper(struct co sizeof(struct irq_routing_table)) / sizeof(struct irq_info); // Make sure I got at least one entry if (len == 0) { - if (PCIIRQRoutingInfoLength != NULL) - kfree(PCIIRQRoutingInfoLength ); + kfree(PCIIRQRoutingInfoLength ); return -1; } @@ -275,8 +274,7 @@ static int PCI_GetBusDevHelper(struct co ctrl->pci_bus->number = tbus; pci_bus_read_config_dword (ctrl->pci_bus, *dev_num, PCI_VENDOR_ID, &work); if (!nobridge || (work == 0xffffffff)) { - if (PCIIRQRoutingInfoLength != NULL) - kfree(PCIIRQRoutingInfoLength ); + kfree(PCIIRQRoutingInfoLength ); return 0; } @@ -289,20 +287,17 @@ static int PCI_GetBusDevHelper(struct co dbg("Scan bus for Non Bridge: bus %d\n", tbus); if (PCI_ScanBusForNonBridge(ctrl, tbus, dev_num) == 0) { *bus_num = tbus; - if (PCIIRQRoutingInfoLength != NULL) - kfree(PCIIRQRoutingInfoLength ); + kfree(PCIIRQRoutingInfoLength ); return 0; } } else { - if (PCIIRQRoutingInfoLength != NULL) - kfree(PCIIRQRoutingInfoLength ); + kfree(PCIIRQRoutingInfoLength ); return 0; } } } - if (PCIIRQRoutingInfoLength != NULL) - kfree(PCIIRQRoutingInfoLength ); + kfree(PCIIRQRoutingInfoLength ); return -1; } diff -puN drivers/pcmcia/cistpl.c~kfree-cleanup-misc-remaining-drivers drivers/pcmcia/cistpl.c --- devel/drivers/pcmcia/cistpl.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/pcmcia/cistpl.c 2005-10-23 12:23:55.000000000 -0700 @@ -334,10 +334,8 @@ void destroy_cis_cache(struct pcmcia_soc /* * If there was a fake CIS, destroy that as well. */ - if (s->fake_cis) { - kfree(s->fake_cis); - s->fake_cis = NULL; - } + kfree(s->fake_cis); + s->fake_cis = NULL; } EXPORT_SYMBOL(destroy_cis_cache); @@ -386,10 +384,8 @@ int verify_cis_cache(struct pcmcia_socke int pcmcia_replace_cis(struct pcmcia_socket *s, cisdump_t *cis) { - if (s->fake_cis != NULL) { - kfree(s->fake_cis); - s->fake_cis = NULL; - } + kfree(s->fake_cis); + s->fake_cis = NULL; if (cis->Length > CISTPL_MAX_CIS_SIZE) return CS_BAD_SIZE; s->fake_cis = kmalloc(cis->Length, GFP_KERNEL); diff -puN drivers/pcmcia/cs.c~kfree-cleanup-misc-remaining-drivers drivers/pcmcia/cs.c --- devel/drivers/pcmcia/cs.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/pcmcia/cs.c 2005-10-23 12:23:55.000000000 -0700 @@ -331,10 +331,8 @@ static void shutdown_socket(struct pcmci cb_free(s); #endif s->functions = 0; - if (s->config) { - kfree(s->config); - s->config = NULL; - } + kfree(s->config); + s->config = NULL; { int status; diff -puN drivers/sbus/char/envctrl.c~kfree-cleanup-misc-remaining-drivers drivers/sbus/char/envctrl.c --- devel/drivers/sbus/char/envctrl.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/sbus/char/envctrl.c 2005-10-23 12:23:55.000000000 -0700 @@ -1125,10 +1125,9 @@ out_deregister: misc_deregister(&envctrl_dev); out_iounmap: iounmap(i2c); - for (i = 0; i < ENVCTRL_MAX_CPU * 2; i++) { - if (i2c_childlist[i].tables) - kfree(i2c_childlist[i].tables); - } + for (i = 0; i < ENVCTRL_MAX_CPU * 2; i++) + kfree(i2c_childlist[i].tables); + return err; } @@ -1141,10 +1140,8 @@ static void __exit envctrl_cleanup(void) iounmap(i2c); misc_deregister(&envctrl_dev); - for (i = 0; i < ENVCTRL_MAX_CPU * 2; i++) { - if (i2c_childlist[i].tables) - kfree(i2c_childlist[i].tables); - } + for (i = 0; i < ENVCTRL_MAX_CPU * 2; i++) + kfree(i2c_childlist[i].tables); } module_init(envctrl_init); diff -puN drivers/video/i810/i810_main.c~kfree-cleanup-misc-remaining-drivers drivers/video/i810/i810_main.c --- devel/drivers/video/i810/i810_main.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/video/i810/i810_main.c 2005-10-23 12:23:55.000000000 -0700 @@ -2066,8 +2066,7 @@ static void i810fb_release_resource(stru iounmap(par->mmio_start_virtual); if (par->aperture.virtual) iounmap(par->aperture.virtual); - if (par->edid) - kfree(par->edid); + kfree(par->edid); if (par->res_flags & FRAMEBUFFER_REQ) release_mem_region(par->aperture.physical, par->aperture.size); diff -puN drivers/w1/w1_ds2433.c~kfree-cleanup-misc-remaining-drivers drivers/w1/w1_ds2433.c --- devel/drivers/w1/w1_ds2433.c~kfree-cleanup-misc-remaining-drivers 2005-10-23 12:23:55.000000000 -0700 +++ devel-akpm/drivers/w1/w1_ds2433.c 2005-10-23 12:23:55.000000000 -0700 @@ -299,10 +299,8 @@ static int w1_f23_add_slave(struct w1_sl static void w1_f23_remove_slave(struct w1_slave *sl) { #ifdef CONFIG_W1_F23_CRC - if (sl->family_data) { - kfree(sl->family_data); - sl->family_data = NULL; - } + kfree(sl->family_data); + sl->family_data = NULL; #endif /* CONFIG_W1_F23_CRC */ sysfs_remove_bin_file(&sl->dev.kobj, &w1_f23_bin_attr); } _