[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; acpi_status status = AE_OK;
struct acpi_container *pc = NULL; struct acpi_container *pc = NULL;
pc = (struct acpi_container *)acpi_driver_data(device); pc = (struct acpi_container *)acpi_driver_data(device);
kfree(pc);
if (pc)
kfree(pc);
return status; return status;
} }

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

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

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

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

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

@ -417,14 +417,12 @@ static void DAC960_DestroyAuxiliaryStructures(DAC960_Controller_T *Controller)
* Remember the beginning of the group, but don't free it * Remember the beginning of the group, but don't free it
* until we've reached the beginning of the next group. * until we've reached the beginning of the next group.
*/ */
if (CommandGroup != NULL) kfree(CommandGroup);
kfree(CommandGroup); CommandGroup = Command;
CommandGroup = Command;
} }
Controller->Commands[i] = NULL; Controller->Commands[i] = NULL;
} }
if (CommandGroup != NULL) kfree(CommandGroup);
kfree(CommandGroup);
if (Controller->CombinedStatusBuffer != NULL) if (Controller->CombinedStatusBuffer != NULL)
{ {
@ -435,30 +433,23 @@ static void DAC960_DestroyAuxiliaryStructures(DAC960_Controller_T *Controller)
if (ScatterGatherPool != NULL) if (ScatterGatherPool != NULL)
pci_pool_destroy(ScatterGatherPool); pci_pool_destroy(ScatterGatherPool);
if (Controller->FirmwareType == DAC960_V1_Controller) return; if (Controller->FirmwareType == DAC960_V1_Controller)
return;
if (RequestSensePool != NULL) if (RequestSensePool != NULL)
pci_pool_destroy(RequestSensePool); pci_pool_destroy(RequestSensePool);
for (i = 0; i < DAC960_MaxLogicalDrives; i++) for (i = 0; i < DAC960_MaxLogicalDrives; i++) {
if (Controller->V2.LogicalDeviceInformation[i] != NULL)
{
kfree(Controller->V2.LogicalDeviceInformation[i]); kfree(Controller->V2.LogicalDeviceInformation[i]);
Controller->V2.LogicalDeviceInformation[i] = NULL; Controller->V2.LogicalDeviceInformation[i] = NULL;
} }
for (i = 0; i < DAC960_V2_MaxPhysicalDevices; i++) for (i = 0; i < DAC960_V2_MaxPhysicalDevices; i++)
{ {
if (Controller->V2.PhysicalDeviceInformation[i] != NULL) kfree(Controller->V2.PhysicalDeviceInformation[i]);
{ Controller->V2.PhysicalDeviceInformation[i] = NULL;
kfree(Controller->V2.PhysicalDeviceInformation[i]); kfree(Controller->V2.InquiryUnitSerialNumber[i]);
Controller->V2.PhysicalDeviceInformation[i] = NULL; Controller->V2.InquiryUnitSerialNumber[i] = NULL;
}
if (Controller->V2.InquiryUnitSerialNumber[i] != NULL)
{
kfree(Controller->V2.InquiryUnitSerialNumber[i]);
Controller->V2.InquiryUnitSerialNumber[i] = NULL;
}
} }
} }

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

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

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

@ -554,8 +554,8 @@ int fcp_initialize(fc_channel *fcchain, int count)
l->logi = kzalloc (count * 3 * sizeof(logi), GFP_KERNEL); l->logi = kzalloc (count * 3 * sizeof(logi), GFP_KERNEL);
l->fcmds = kzalloc (count * sizeof(fcp_cmnd), GFP_KERNEL); l->fcmds = kzalloc (count * sizeof(fcp_cmnd), GFP_KERNEL);
if (!l->logi || !l->fcmds) { if (!l->logi || !l->fcmds) {
if (l->logi) kfree (l->logi); kfree (l->logi);
if (l->fcmds) kfree (l->fcmds); kfree (l->fcmds);
kfree (l); kfree (l);
printk ("FC: Cannot allocate DMA memory for initialization\n"); printk ("FC: Cannot allocate DMA memory for initialization\n");
return -ENOMEM; return -ENOMEM;
@ -674,7 +674,6 @@ int fcp_forceoffline(fc_channel *fcchain, int count)
atomic_set (&l.todo, count); atomic_set (&l.todo, count);
l.fcmds = kzalloc (count * sizeof(fcp_cmnd), GFP_KERNEL); l.fcmds = kzalloc (count * sizeof(fcp_cmnd), GFP_KERNEL);
if (!l.fcmds) { if (!l.fcmds) {
kfree (l.fcmds);
printk ("FC: Cannot allocate memory for forcing offline\n"); printk ("FC: Cannot allocate memory for forcing offline\n");
return -ENOMEM; return -ENOMEM;
} }

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

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

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

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

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

@ -3292,12 +3292,9 @@ static void ide_cd_release(struct kref *kref)
ide_drive_t *drive = info->drive; ide_drive_t *drive = info->drive;
struct gendisk *g = info->disk; struct gendisk *g = info->disk;
if (info->buffer != NULL) kfree(info->buffer);
kfree(info->buffer); kfree(info->toc);
if (info->toc != NULL) kfree(info->changer_info);
kfree(info->toc);
if (info->changer_info != NULL)
kfree(info->changer_info);
if (devinfo->handle == drive && unregister_cdrom(devinfo)) if (devinfo->handle == drive && unregister_cdrom(devinfo))
printk(KERN_ERR "%s: %s failed to unregister device from the cdrom " printk(KERN_ERR "%s: %s failed to unregister device from the cdrom "
"driver.\n", __FUNCTION__, drive->name); "driver.\n", __FUNCTION__, drive->name);
@ -3487,12 +3484,9 @@ static int ide_cd_probe(struct device *dev)
if (ide_cdrom_setup(drive)) { if (ide_cdrom_setup(drive)) {
struct cdrom_device_info *devinfo = &info->devinfo; struct cdrom_device_info *devinfo = &info->devinfo;
ide_unregister_subdriver(drive, &ide_cdrom_driver); ide_unregister_subdriver(drive, &ide_cdrom_driver);
if (info->buffer != NULL) kfree(info->buffer);
kfree(info->buffer); kfree(info->toc);
if (info->toc != NULL) kfree(info->changer_info);
kfree(info->toc);
if (info->changer_info != NULL)
kfree(info->changer_info);
if (devinfo->handle == drive && unregister_cdrom(devinfo)) 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); printk (KERN_ERR "%s: ide_cdrom_cleanup failed to unregister device from the cdrom driver.\n", drive->name);
kfree(info); kfree(info);

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

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

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

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

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

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

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

@ -508,8 +508,7 @@ static void unregister_mad_agent(struct ib_mad_agent_private *mad_agent_priv)
wait_event(mad_agent_priv->wait, wait_event(mad_agent_priv->wait,
!atomic_read(&mad_agent_priv->refcount)); !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); ib_dereg_mr(mad_agent_priv->agent.mr);
kfree(mad_agent_priv); kfree(mad_agent_priv);
} }
@ -2500,8 +2499,7 @@ error:
static void destroy_mad_qp(struct ib_mad_qp_info *qp_info) static void destroy_mad_qp(struct ib_mad_qp_info *qp_info)
{ {
ib_destroy_qp(qp_info->qp); ib_destroy_qp(qp_info->qp);
if (qp_info->snoop_table) kfree(qp_info->snoop_table);
kfree(qp_info->snoop_table);
} }
/* /*

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

@ -271,8 +271,7 @@ static int uinput_alloc_device(struct file *file, const char __user *buffer, siz
goto exit; goto exit;
} }
if (dev->name) kfree(dev->name);
kfree(dev->name);
size = strnlen(user_dev->name, UINPUT_MAX_NAME_SIZE) + 1; size = strnlen(user_dev->name, UINPUT_MAX_NAME_SIZE) + 1;
dev->name = name = kmalloc(size, GFP_KERNEL); dev->name = name = kmalloc(size, GFP_KERNEL);
@ -372,11 +371,8 @@ static int uinput_burn_device(struct uinput_device *udev)
if (test_bit(UIST_CREATED, &udev->state)) if (test_bit(UIST_CREATED, &udev->state))
uinput_destroy_device(udev); uinput_destroy_device(udev);
if (udev->dev->name) kfree(udev->dev->name);
kfree(udev->dev->name); kfree(udev->dev->phys);
if (udev->dev->phys)
kfree(udev->dev->phys);
kfree(udev->dev); kfree(udev->dev);
kfree(udev); kfree(udev);

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

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

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

@ -1602,8 +1602,7 @@ static void __devexit wbsd_release_dma(struct wbsd_host* host)
if (host->dma_addr) if (host->dma_addr)
dma_unmap_single(host->mmc->dev, host->dma_addr, WBSD_DMA_SIZE, dma_unmap_single(host->mmc->dev, host->dma_addr, WBSD_DMA_SIZE,
DMA_BIDIRECTIONAL); DMA_BIDIRECTIONAL);
if (host->dma_buffer) kfree(host->dma_buffer);
kfree(host->dma_buffer);
if (host->dma >= 0) if (host->dma >= 0)
free_dma(host->dma); free_dma(host->dma);

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

@ -78,17 +78,15 @@ static void parse_data(struct parport *port, int device, char *str)
u++; u++;
} }
if (!strcmp(p, "MFG") || !strcmp(p, "MANUFACTURER")) { if (!strcmp(p, "MFG") || !strcmp(p, "MANUFACTURER")) {
if (info->mfr) kfree(info->mfr);
kfree (info->mfr);
info->mfr = kstrdup(sep, GFP_KERNEL); info->mfr = kstrdup(sep, GFP_KERNEL);
} else if (!strcmp(p, "MDL") || !strcmp(p, "MODEL")) { } else if (!strcmp(p, "MDL") || !strcmp(p, "MODEL")) {
if (info->model) kfree(info->model);
kfree (info->model);
info->model = kstrdup(sep, GFP_KERNEL); info->model = kstrdup(sep, GFP_KERNEL);
} else if (!strcmp(p, "CLS") || !strcmp(p, "CLASS")) { } else if (!strcmp(p, "CLS") || !strcmp(p, "CLASS")) {
int i; int i;
if (info->class_name)
kfree (info->class_name); kfree(info->class_name);
info->class_name = kstrdup(sep, GFP_KERNEL); info->class_name = kstrdup(sep, GFP_KERNEL);
for (u = sep; *u; u++) for (u = sep; *u; u++)
*u = toupper(*u); *u = toupper(*u);
@ -102,21 +100,22 @@ static void parse_data(struct parport *port, int device, char *str)
info->class = PARPORT_CLASS_OTHER; info->class = PARPORT_CLASS_OTHER;
} else if (!strcmp(p, "CMD") || } else if (!strcmp(p, "CMD") ||
!strcmp(p, "COMMAND SET")) { !strcmp(p, "COMMAND SET")) {
if (info->cmdset) kfree(info->cmdset);
kfree (info->cmdset);
info->cmdset = kstrdup(sep, GFP_KERNEL); info->cmdset = kstrdup(sep, GFP_KERNEL);
/* if it speaks printer language, it's /* if it speaks printer language, it's
probably a printer */ probably a printer */
if (strstr(sep, "PJL") || strstr(sep, "PCL")) if (strstr(sep, "PJL") || strstr(sep, "PCL"))
guessed_class = PARPORT_CLASS_PRINTER; guessed_class = PARPORT_CLASS_PRINTER;
} else if (!strcmp(p, "DES") || !strcmp(p, "DESCRIPTION")) { } else if (!strcmp(p, "DES") || !strcmp(p, "DESCRIPTION")) {
if (info->description) kfree(info->description);
kfree (info->description);
info->description = kstrdup(sep, GFP_KERNEL); info->description = kstrdup(sep, GFP_KERNEL);
} }
} }
rock_on: 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 /* If the device didn't tell us its class, maybe we have managed to

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

@ -202,16 +202,11 @@ static void free_port (struct parport *port)
list_del(&port->full_list); list_del(&port->full_list);
spin_unlock(&full_list_lock); spin_unlock(&full_list_lock);
for (d = 0; d < 5; d++) { for (d = 0; d < 5; d++) {
if (port->probe_info[d].class_name) kfree(port->probe_info[d].class_name);
kfree (port->probe_info[d].class_name); kfree(port->probe_info[d].mfr);
if (port->probe_info[d].mfr) kfree(port->probe_info[d].model);
kfree (port->probe_info[d].mfr); kfree(port->probe_info[d].cmdset);
if (port->probe_info[d].model) kfree(port->probe_info[d].description);
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->name); kfree(port->name);
@ -618,9 +613,9 @@ parport_register_device(struct parport *port, const char *name,
return tmp; return tmp;
out_free_all: out_free_all:
kfree (tmp->state); kfree(tmp->state);
out_free_pardevice: out_free_pardevice:
kfree (tmp); kfree(tmp);
out: out:
parport_put_port (port); parport_put_port (port);
module_put(port->ops->owner); module_put(port->ops->owner);

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

@ -259,8 +259,7 @@ static int PCI_GetBusDevHelper(struct controller *ctrl, u8 *bus_num, u8 *dev_num
sizeof(struct irq_routing_table)) / sizeof(struct irq_info); sizeof(struct irq_routing_table)) / sizeof(struct irq_info);
// Make sure I got at least one entry // Make sure I got at least one entry
if (len == 0) { if (len == 0) {
if (PCIIRQRoutingInfoLength != NULL) kfree(PCIIRQRoutingInfoLength );
kfree(PCIIRQRoutingInfoLength );
return -1; return -1;
} }
@ -275,8 +274,7 @@ static int PCI_GetBusDevHelper(struct controller *ctrl, u8 *bus_num, u8 *dev_num
ctrl->pci_bus->number = tbus; ctrl->pci_bus->number = tbus;
pci_bus_read_config_dword (ctrl->pci_bus, *dev_num, PCI_VENDOR_ID, &work); pci_bus_read_config_dword (ctrl->pci_bus, *dev_num, PCI_VENDOR_ID, &work);
if (!nobridge || (work == 0xffffffff)) { if (!nobridge || (work == 0xffffffff)) {
if (PCIIRQRoutingInfoLength != NULL) kfree(PCIIRQRoutingInfoLength );
kfree(PCIIRQRoutingInfoLength );
return 0; return 0;
} }
@ -289,20 +287,17 @@ static int PCI_GetBusDevHelper(struct controller *ctrl, u8 *bus_num, u8 *dev_num
dbg("Scan bus for Non Bridge: bus %d\n", tbus); dbg("Scan bus for Non Bridge: bus %d\n", tbus);
if (PCI_ScanBusForNonBridge(ctrl, tbus, dev_num) == 0) { if (PCI_ScanBusForNonBridge(ctrl, tbus, dev_num) == 0) {
*bus_num = tbus; *bus_num = tbus;
if (PCIIRQRoutingInfoLength != NULL) kfree(PCIIRQRoutingInfoLength );
kfree(PCIIRQRoutingInfoLength );
return 0; return 0;
} }
} else { } else {
if (PCIIRQRoutingInfoLength != NULL) kfree(PCIIRQRoutingInfoLength );
kfree(PCIIRQRoutingInfoLength );
return 0; return 0;
} }
} }
} }
if (PCIIRQRoutingInfoLength != NULL) kfree(PCIIRQRoutingInfoLength );
kfree(PCIIRQRoutingInfoLength );
return -1; return -1;
} }

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

@ -334,10 +334,8 @@ void destroy_cis_cache(struct pcmcia_socket *s)
/* /*
* If there was a fake CIS, destroy that as well. * If there was a fake CIS, destroy that as well.
*/ */
if (s->fake_cis) { kfree(s->fake_cis);
kfree(s->fake_cis); s->fake_cis = NULL;
s->fake_cis = NULL;
}
} }
EXPORT_SYMBOL(destroy_cis_cache); 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) int pcmcia_replace_cis(struct pcmcia_socket *s, cisdump_t *cis)
{ {
if (s->fake_cis != NULL) { kfree(s->fake_cis);
kfree(s->fake_cis); s->fake_cis = NULL;
s->fake_cis = NULL;
}
if (cis->Length > CISTPL_MAX_CIS_SIZE) if (cis->Length > CISTPL_MAX_CIS_SIZE)
return CS_BAD_SIZE; return CS_BAD_SIZE;
s->fake_cis = kmalloc(cis->Length, GFP_KERNEL); s->fake_cis = kmalloc(cis->Length, GFP_KERNEL);

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

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

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

@ -1125,10 +1125,9 @@ out_deregister:
misc_deregister(&envctrl_dev); misc_deregister(&envctrl_dev);
out_iounmap: out_iounmap:
iounmap(i2c); iounmap(i2c);
for (i = 0; i < ENVCTRL_MAX_CPU * 2; i++) { for (i = 0; i < ENVCTRL_MAX_CPU * 2; i++)
if (i2c_childlist[i].tables) kfree(i2c_childlist[i].tables);
kfree(i2c_childlist[i].tables);
}
return err; return err;
} }
@ -1141,10 +1140,8 @@ static void __exit envctrl_cleanup(void)
iounmap(i2c); iounmap(i2c);
misc_deregister(&envctrl_dev); misc_deregister(&envctrl_dev);
for (i = 0; i < ENVCTRL_MAX_CPU * 2; i++) { for (i = 0; i < ENVCTRL_MAX_CPU * 2; i++)
if (i2c_childlist[i].tables) kfree(i2c_childlist[i].tables);
kfree(i2c_childlist[i].tables);
}
} }
module_init(envctrl_init); module_init(envctrl_init);

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

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

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

@ -299,10 +299,8 @@ static int w1_f23_add_slave(struct w1_slave *sl)
static void w1_f23_remove_slave(struct w1_slave *sl) static void w1_f23_remove_slave(struct w1_slave *sl)
{ {
#ifdef CONFIG_W1_F23_CRC #ifdef CONFIG_W1_F23_CRC
if (sl->family_data) { kfree(sl->family_data);
kfree(sl->family_data); sl->family_data = NULL;
sl->family_data = NULL;
}
#endif /* CONFIG_W1_F23_CRC */ #endif /* CONFIG_W1_F23_CRC */
sysfs_remove_bin_file(&sl->dev.kobj, &w1_f23_bin_attr); sysfs_remove_bin_file(&sl->dev.kobj, &w1_f23_bin_attr);
} }