Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4d572776 authored by Jesper Juhl's avatar Jesper Juhl Committed by Jaroslav Kysela
Browse files

[ALSA] Remove redundant NULL checks before kfree



Timer Midlevel,ALSA sequencer,ALSA<-OSS sequencer,Digigram VX core
I2C tea6330t,GUS Library,VIA82xx driver,VIA82xx-modem driver
CA0106 driver,CS46xx driver,EMU10K1/EMU10K2 driver,YMFPCI driver
Digigram VX Pocket driver,Common EMU synth,USB generic driver,USB USX2Y
Checking a pointer for NULL before calling kfree() on it is redundant,
kfree() deals with NULL pointers just fine.
This patch removes such checks from sound/

This patch also makes another, but closely related, change.
It avoids casting pointers about to be kfree()'ed.

Signed-off-by: default avatarJesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 6fd8b87f
Loading
Loading
Loading
Loading
+8 −16
Original line number Diff line number Diff line
@@ -325,15 +325,11 @@ snd_seq_oss_synth_cleanup(seq_oss_devinfo_t *dp)
			}
			snd_use_lock_free(&rec->use_lock);
		}
		if (info->sysex) {
		kfree(info->sysex);
		info->sysex = NULL;
		}
		if (info->ch) {
		kfree(info->ch);
		info->ch = NULL;
	}
	}
	dp->synth_opened = 0;
	dp->max_synthdev = 0;
}
@@ -418,15 +414,11 @@ snd_seq_oss_synth_reset(seq_oss_devinfo_t *dp, int dev)
					  dp->file_mode) < 0) {
			midi_synth_dev.opened--;
			info->opened = 0;
			if (info->sysex) {
			kfree(info->sysex);
			info->sysex = NULL;
			}
			if (info->ch) {
			kfree(info->ch);
			info->ch = NULL;
		}
		}
		return;
	}

+1 −4
Original line number Diff line number Diff line
@@ -140,10 +140,7 @@ dummy_input(snd_seq_event_t *ev, int direct, void *private_data, int atomic, int
static void
dummy_free(void *private_data)
{
	snd_seq_dummy_port_t *p;

	p = private_data;
	kfree(p);
	kfree(private_data);
}

/*
+4 −8
Original line number Diff line number Diff line
@@ -1469,14 +1469,10 @@ static int snd_timer_user_tselect(struct file *file, snd_timer_select_t __user *
	if ((err = snd_timer_open(&tu->timeri, str, &tselect.id, current->pid)) < 0)
		goto __err;

	if (tu->queue) {
	kfree(tu->queue);
	tu->queue = NULL;
	}
	if (tu->tqueue) {
	kfree(tu->tqueue);
	tu->tqueue = NULL;
	}
	if (tu->tread) {
		tu->tqueue = (snd_timer_tread_t *)kmalloc(tu->queue_size * sizeof(snd_timer_tread_t), GFP_KERNEL);
		if (tu->tqueue == NULL)
+4 −8
Original line number Diff line number Diff line
@@ -1264,15 +1264,11 @@ static void snd_vx_pcm_free(snd_pcm_t *pcm)
{
	vx_core_t *chip = pcm->private_data;
	chip->pcm[pcm->device] = NULL;
	if (chip->playback_pipes) {
	kfree(chip->playback_pipes);
	chip->playback_pipes = NULL;
	}
	if (chip->capture_pipes) {
	kfree(chip->capture_pipes);
	chip->capture_pipes = NULL;
}
}

/*
 * snd_vx_pcm_new - create and initialize a pcm
+1 −2
Original line number Diff line number Diff line
@@ -266,8 +266,7 @@ TEA6330T_TREBLE("Tone Control - Treble", 0)

static void snd_tea6330_free(snd_i2c_device_t *device)
{
	tea6330t_t *tea = device->private_data;
	kfree(tea);
	kfree(device->private_data);
}
                                        
int snd_tea6330t_update_mixer(snd_card_t * card,
Loading