[PATCH] [FB] metronomefb: don't free firmware twice in error path.
From: Sebastian Siewior <hidden>
Date: 2008-04-24 07:56:53
Subsystem:
framebuffer layer, the rest · Maintainers:
Helge Deller, Linus Torvalds
Right now, if request_irq or anthing after it fails than we free the firmware for the second time what migh end bad :) Signed-off-by: Sebastian Siewior <redacted> Acked-by: Jaya Kumar <redacted> --- drivers/video/metronomefb.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/video/metronomefb.c b/drivers/video/metronomefb.c
index e9a89fd..110985f 100644
--- a/drivers/video/metronomefb.c
+++ b/drivers/video/metronomefb.c@@ -861,12 +861,13 @@ static int __devinit metronomefb_probe(struct platform_device *dev) retval = load_waveform((u8 *) fw_entry->data, fw_entry->size, par->metromem_wfm, 3, 31, &par->frame_count); + + release_firmware(fw_entry); + if (retval < 0) { printk(KERN_ERR "metronomefb: couldn't process waveform\n"); - goto err_ld_wfm; + goto err_dma_free; } - release_firmware(fw_entry); - retval = request_irq(IRQ_GPIO(RDY_GPIO_PIN), metronome_handle_irq, IRQF_DISABLED, "Metronome", info); if (retval) {
@@ -914,8 +915,6 @@ err_fb_rel: framebuffer_release(info); err_free_irq: free_irq(IRQ_GPIO(RDY_GPIO_PIN), info); -err_ld_wfm: - release_firmware(fw_entry); err_dma_free: dma_free_writecombine(&dev->dev, par->metromemsize, par->metromem, par->metromem_dma);
--
1.5.4.4
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone