Skip to content

Commit

Permalink
[PATCH] remove redundant NULL checks before kfree() in sound/ and avo…
Browse files Browse the repository at this point in the history
…id casting pointers about to be kfree()'ed

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: Jesper Juhl <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Jesper Juhl authored and Linus Torvalds committed Jun 25, 2005
1 parent 4ae6673 commit 0941737
Show file tree
Hide file tree
Showing 8 changed files with 16 additions and 28 deletions.
3 changes: 1 addition & 2 deletions sound/oss/ad1848.c
Original file line number Diff line number Diff line change
Expand Up @@ -2178,8 +2178,7 @@ void ad1848_unload(int io_base, int irq, int dma_playback, int dma_capture, int

if (devc != NULL)
{
if(audio_devs[dev]->portc!=NULL)
kfree(audio_devs[dev]->portc);
kfree(audio_devs[dev]->portc);
release_region(devc->base, 4);

if (!share_dma)
Expand Down
3 changes: 1 addition & 2 deletions sound/oss/ad1889.c
Original file line number Diff line number Diff line change
Expand Up @@ -277,8 +277,7 @@ static void ad1889_free_dev(ad1889_dev_t *dev)

for (j = 0; j < AD_MAX_STATES; j++) {
dmabuf = &dev->state[j].dmabuf;
if (dmabuf->rawbuf != NULL)
kfree(dmabuf->rawbuf);
kfree(dmabuf->rawbuf);
}

kfree(dev);
Expand Down
20 changes: 7 additions & 13 deletions sound/oss/dmasound/dmasound_awacs.c
Original file line number Diff line number Diff line change
Expand Up @@ -671,14 +671,10 @@ static void PMacIrqCleanup(void)
release_OF_resource(awacs_node, 1);
release_OF_resource(awacs_node, 2);

if (awacs_tx_cmd_space)
kfree(awacs_tx_cmd_space);
if (awacs_rx_cmd_space)
kfree(awacs_rx_cmd_space);
if (beep_dbdma_cmd_space)
kfree(beep_dbdma_cmd_space);
if (beep_buf)
kfree(beep_buf);
kfree(awacs_tx_cmd_space);
kfree(awacs_rx_cmd_space);
kfree(beep_dbdma_cmd_space);
kfree(beep_buf);
#ifdef CONFIG_PMAC_PBOOK
pmu_unregister_sleep_notifier(&awacs_sleep_notifier);
#endif
Expand Down Expand Up @@ -2301,8 +2297,7 @@ if (count <= 0)
#endif

if ((write_sq.max_count + 1) > number_of_tx_cmd_buffers) {
if (awacs_tx_cmd_space)
kfree(awacs_tx_cmd_space);
kfree(awacs_tx_cmd_space);
number_of_tx_cmd_buffers = 0;

/* we need nbufs + 1 (for the loop) and we should request + 1
Expand Down Expand Up @@ -2360,8 +2355,7 @@ if (count <= 0)
#endif

if ((read_sq.max_count+1) > number_of_rx_cmd_buffers ) {
if (awacs_rx_cmd_space)
kfree(awacs_rx_cmd_space);
kfree(awacs_rx_cmd_space);
number_of_rx_cmd_buffers = 0;

/* we need nbufs + 1 (for the loop) and we should request + 1 again
Expand Down Expand Up @@ -2805,7 +2799,7 @@ __init setup_beep(void)
beep_buf = (short *) kmalloc(BEEP_BUFLEN * 4, GFP_KERNEL);
if (beep_buf == NULL) {
printk(KERN_ERR "dmasound_pmac: no memory for beep buffer\n");
if( beep_dbdma_cmd_space ) kfree(beep_dbdma_cmd_space) ;
kfree(beep_dbdma_cmd_space) ;
return -ENOMEM ;
}
return 0 ;
Expand Down
6 changes: 2 additions & 4 deletions sound/oss/emu10k1/midi.c
Original file line number Diff line number Diff line change
Expand Up @@ -523,10 +523,8 @@ void emu10k1_seq_midi_close(int dev)
card = midi_devs[dev]->devc;
emu10k1_mpuout_close(card);

if (card->seq_mididev) {
kfree(card->seq_mididev);
card->seq_mididev = NULL;
}
kfree(card->seq_mididev);
card->seq_mididev = NULL;
}

int emu10k1_seq_midi_out(int dev, unsigned char midi_byte)
Expand Down
3 changes: 1 addition & 2 deletions sound/oss/emu10k1/passthrough.c
Original file line number Diff line number Diff line change
Expand Up @@ -213,8 +213,7 @@ void emu10k1_pt_stop(struct emu10k1_card *card)
sblive_writeptr(card, SPCS0 + i, 0, pt->old_spcs[i]);
}
pt->state = PT_STATE_INACTIVE;
if(pt->buf)
kfree(pt->buf);
kfree(pt->buf);
}
}

Expand Down
2 changes: 1 addition & 1 deletion sound/oss/maestro.c
Original file line number Diff line number Diff line change
Expand Up @@ -2356,7 +2356,7 @@ ess_read(struct file *file, char __user *buffer, size_t count, loff_t *ppos)
}

rec_return_free:
if(combbuf) kfree(combbuf);
kfree(combbuf);
return ret;
}

Expand Down
3 changes: 1 addition & 2 deletions sound/oss/mpu401.c
Original file line number Diff line number Diff line change
Expand Up @@ -1240,8 +1240,7 @@ void unload_mpu401(struct address_info *hw_config)
p=mpu401_synth_operations[n];
sound_unload_mididev(n);
sound_unload_timerdev(hw_config->slots[2]);
if(p)
kfree(p);
kfree(p);
}
}

Expand Down
4 changes: 2 additions & 2 deletions sound/oss/sb_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -915,8 +915,8 @@ void sb_dsp_unload(struct address_info *hw_config, int sbmpu)
}
else
release_region(hw_config->io_base, 16);
if(detected_devc)
kfree(detected_devc);

kfree(detected_devc);
}

/*
Expand Down

0 comments on commit 0941737

Please sign in to comment.