[PATCH] kfree cleanup: misc remaining drivers

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 <jesper.juhl@gmail.com>
Acked-by: Aristeu Sergio Rozanski Filho <aris@cathedrallabs.org>
Acked-by: Roland Dreier <rolandd@cisco.com>
Acked-by: Pierre Ossman <drzeus@drzeus.cx>
Acked-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Acked-by: Len Brown <len.brown@intel.com>
Acked-by: "Antonino A. Daplas" <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Jesper Juhl 2005-11-07 01:01:32 -08:00 коммит произвёл Linus Torvalds
Родитель 2ea7533060
Коммит 6044ec8882
24 изменённых файлов: 83 добавлений и 151 удалений

Просмотреть файл

@ -118,11 +118,9 @@ static int acpi_container_remove(struct acpi_device *device, int type)
{
acpi_status status = AE_OK;
struct acpi_container *pc = NULL;
pc = (struct acpi_container *)acpi_driver_data(device);
if (pc)
kfree(pc);
return status;
}

Просмотреть файл

@ -28,7 +28,6 @@ static int acpi_bus_trim(struct acpi_device *start, int rmdevice);
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);
}
@ -1117,7 +1116,6 @@ acpi_add_single_object(struct acpi_device **child,
if (!result)
*child = device;
else {
if (device->pnp.cid_list)
kfree(device->pnp.cid_list);
kfree(device);
}

Просмотреть файл

@ -334,7 +334,6 @@ acpi_video_device_lcd_query_levels(struct acpi_video_device *device,
return_VALUE(0);
err:
if (buffer.pointer)
kfree(buffer.pointer);
return_VALUE(status);
@ -1488,7 +1487,6 @@ static int acpi_video_device_enumerate(struct acpi_video_bus *video)
}
active_device_list[count].value.int_val = ACPI_VIDEO_HEAD_END;
if (video->attached_array)
kfree(video->attached_array);
video->attached_array = active_device_list;
@ -1645,7 +1643,6 @@ static int acpi_video_bus_put_devices(struct acpi_video_bus *video)
printk(KERN_WARNING PREFIX
"hhuuhhuu bug in acpi video driver.\n");
if (data->brightness)
kfree(data->brightness);
kfree(data);
@ -1831,7 +1828,6 @@ static int acpi_video_bus_remove(struct acpi_device *device, int type)
acpi_video_bus_put_devices(video);
acpi_video_bus_remove_fs(device);
if (video->attached_array)
kfree(video->attached_array);
kfree(video);

Просмотреть файл

@ -417,13 +417,11 @@ static void DAC960_DestroyAuxiliaryStructures(DAC960_Controller_T *Controller)
* 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;
}
Controller->Commands[i] = NULL;
}
if (CommandGroup != NULL)
kfree(CommandGroup);
if (Controller->CombinedStatusBuffer != NULL)
@ -435,32 +433,25 @@ static void DAC960_DestroyAuxiliaryStructures(DAC960_Controller_T *Controller)
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;
}
}
}
/*

Просмотреть файл

@ -1096,13 +1096,10 @@ static int cciss_ioctl(struct inode *inode, struct file *filep,
cleanup1:
if (buff) {
for(i=0; i<sg_used; i++)
if(buff[i] != NULL)
kfree(buff[i]);
kfree(buff);
}
if (buff_size)
kfree(buff_size);
if (ioc)
kfree(ioc);
return(status);
}
@ -3034,7 +3031,6 @@ static int __devinit cciss_init_one(struct pci_dev *pdev,
return(1);
clean4:
if(hba[i]->cmd_pool_bits)
kfree(hba[i]->cmd_pool_bits);
if(hba[i]->cmd_pool)
pci_free_consistent(hba[i]->pdev,

Просмотреть файл

@ -554,8 +554,8 @@ int fcp_initialize(fc_channel *fcchain, int count)
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, int count)
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;
}

Просмотреть файл

@ -976,10 +976,8 @@ w83781d_detect_subclients(struct i2c_adapter *adapter, int address, int kind,
ERROR_SC_3:
i2c_detach_client(data->lm75[0]);
ERROR_SC_2:
if (data->lm75[1])
kfree(data->lm75[1]);
ERROR_SC_1:
if (data->lm75[0])
kfree(data->lm75[0]);
ERROR_SC_0:
return err;

Просмотреть файл

@ -245,10 +245,8 @@ static void __exit amd756_s4882_exit(void)
kfree(s4882_adapter);
s4882_adapter = NULL;
}
if (s4882_algo) {
kfree(s4882_algo);
s4882_algo = NULL;
}
/* Restore physical bus */
if (i2c_add_adapter(&amd756_smbus))

Просмотреть файл

@ -3292,11 +3292,8 @@ static void ide_cd_release(struct kref *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);
if (devinfo->handle == drive && unregister_cdrom(devinfo))
printk(KERN_ERR "%s: %s failed to unregister device from the cdrom "
@ -3487,11 +3484,8 @@ static int ide_cd_probe(struct device *dev)
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);
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);

Просмотреть файл

@ -1315,10 +1315,8 @@ static void drive_release_dev (struct device *dev)
drive->devfs_name[0] = '\0';
}
ide_remove_drive_from_hwgroup(drive);
if (drive->id != NULL) {
kfree(drive->id);
drive->id = NULL;
}
drive->present = 0;
/* Messed up locking ... */
spin_unlock_irq(&ide_lock);

Просмотреть файл

@ -646,9 +646,7 @@ int ide_taskfile_ioctl (ide_drive_t *drive, unsigned int cmd, unsigned long arg)
}
abort:
kfree(req_task);
if (outbuf != NULL)
kfree(outbuf);
if (inbuf != NULL)
kfree(inbuf);
// printk("IDE Taskfile ioctl ended. rc = %i\n", err);

Просмотреть файл

@ -888,7 +888,6 @@ static int __ide_add_setting(ide_drive_t *drive, const char *name, int rw, int r
return 0;
abort:
up(&ide_setting_sem);
if (setting)
kfree(setting);
return -1;
}

Просмотреть файл

@ -508,7 +508,6 @@ static void unregister_mad_agent(struct ib_mad_agent_private *mad_agent_priv)
wait_event(mad_agent_priv->wait,
!atomic_read(&mad_agent_priv->refcount));
if (mad_agent_priv->reg_req)
kfree(mad_agent_priv->reg_req);
ib_dereg_mr(mad_agent_priv->agent.mr);
kfree(mad_agent_priv);
@ -2500,7 +2499,6 @@ 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);
}

Просмотреть файл

@ -271,7 +271,6 @@ static int uinput_alloc_device(struct file *file, const char __user *buffer, siz
goto exit;
}
if (dev->name)
kfree(dev->name);
size = strnlen(user_dev->name, UINPUT_MAX_NAME_SIZE) + 1;
@ -372,11 +371,8 @@ static int uinput_burn_device(struct uinput_device *udev)
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);
kfree(udev);

Просмотреть файл

@ -857,7 +857,6 @@ adbhid_input_register(int id, int default_id, int original_handler_id,
static void adbhid_input_unregister(int id)
{
input_unregister_device(adbhid[id]->input);
if (adbhid[id]->keycode)
kfree(adbhid[id]->keycode);
kfree(adbhid[id]);
adbhid[id] = NULL;

Просмотреть файл

@ -1602,7 +1602,6 @@ static void __devexit wbsd_release_dma(struct wbsd_host* host)
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);
if (host->dma >= 0)
free_dma(host->dma);

Просмотреть файл

@ -78,16 +78,14 @@ static void parse_data(struct parport *port, int device, char *str)
u++;
}
if (!strcmp(p, "MFG") || !strcmp(p, "MANUFACTURER")) {
if (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);
info->model = kstrdup(sep, GFP_KERNEL);
} else if (!strcmp(p, "CLS") || !strcmp(p, "CLASS")) {
int i;
if (info->class_name)
kfree(info->class_name);
info->class_name = kstrdup(sep, GFP_KERNEL);
for (u = sep; *u; u++)
@ -102,7 +100,6 @@ static void parse_data(struct parport *port, int device, char *str)
info->class = PARPORT_CLASS_OTHER;
} else if (!strcmp(p, "CMD") ||
!strcmp(p, "COMMAND SET")) {
if (info->cmdset)
kfree(info->cmdset);
info->cmdset = kstrdup(sep, GFP_KERNEL);
/* if it speaks printer language, it's
@ -110,13 +107,15 @@ static void parse_data(struct parport *port, int device, char *str)
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);
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

Просмотреть файл

@ -202,15 +202,10 @@ static void free_port (struct parport *port)
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);
}

Просмотреть файл

@ -259,7 +259,6 @@ static int PCI_GetBusDevHelper(struct controller *ctrl, u8 *bus_num, u8 *dev_num
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 );
return -1;
}
@ -275,7 +274,6 @@ static int PCI_GetBusDevHelper(struct controller *ctrl, u8 *bus_num, u8 *dev_num
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 );
return 0;
}
@ -289,19 +287,16 @@ static int PCI_GetBusDevHelper(struct controller *ctrl, u8 *bus_num, u8 *dev_num
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 );
return 0;
}
} else {
if (PCIIRQRoutingInfoLength != NULL)
kfree(PCIIRQRoutingInfoLength );
return 0;
}
}
}
if (PCIIRQRoutingInfoLength != NULL)
kfree(PCIIRQRoutingInfoLength );
return -1;
}

Просмотреть файл

@ -334,11 +334,9 @@ void destroy_cis_cache(struct pcmcia_socket *s)
/*
* If there was a fake CIS, destroy that as well.
*/
if (s->fake_cis) {
kfree(s->fake_cis);
s->fake_cis = NULL;
}
}
EXPORT_SYMBOL(destroy_cis_cache);
/*======================================================================
@ -386,10 +384,8 @@ int verify_cis_cache(struct pcmcia_socket *s)
int pcmcia_replace_cis(struct pcmcia_socket *s, cisdump_t *cis)
{
if (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);

Просмотреть файл

@ -331,10 +331,8 @@ static void shutdown_socket(struct pcmcia_socket *s)
cb_free(s);
#endif
s->functions = 0;
if (s->config) {
kfree(s->config);
s->config = NULL;
}
{
int status;

Просмотреть файл

@ -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)
for (i = 0; i < ENVCTRL_MAX_CPU * 2; i++)
kfree(i2c_childlist[i].tables);
}
return err;
}
@ -1141,11 +1140,9 @@ 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)
for (i = 0; i < ENVCTRL_MAX_CPU * 2; i++)
kfree(i2c_childlist[i].tables);
}
}
module_init(envctrl_init);
module_exit(envctrl_cleanup);

Просмотреть файл

@ -2057,7 +2057,6 @@ static void i810fb_release_resource(struct fb_info *info,
iounmap(par->mmio_start_virtual);
if (par->aperture.virtual)
iounmap(par->aperture.virtual);
if (par->edid)
kfree(par->edid);
if (par->res_flags & FRAMEBUFFER_REQ)
release_mem_region(par->aperture.physical,

Просмотреть файл

@ -299,10 +299,8 @@ static int w1_f23_add_slave(struct w1_slave *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;
}
#endif /* CONFIG_W1_F23_CRC */
sysfs_remove_bin_file(&sl->dev.kobj, &w1_f23_bin_attr);
}