linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] [FB] metronomefb: don't free firmware twice in error path.
@ 2008-04-21 12:09 Sebastian Siewior
  2008-04-24  1:57 ` Jaya Kumar
  0 siblings, 1 reply; 3+ messages in thread
From: Sebastian Siewior @ 2008-04-21 12:09 UTC (permalink / raw)
  To: Jaya Kumar; +Cc: linux-fbdev-devel, Antonino Daplas

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 <sebastian@breakpoint.cc>
---
 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

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] [FB] metronomefb: don't free firmware twice in error path.
  2008-04-21 12:09 [PATCH] [FB] metronomefb: don't free firmware twice in error path Sebastian Siewior
@ 2008-04-24  1:57 ` Jaya Kumar
  0 siblings, 0 replies; 3+ messages in thread
From: Jaya Kumar @ 2008-04-24  1:57 UTC (permalink / raw)
  To: Sebastian Siewior; +Cc: linux-fbdev-devel, Antonino Daplas

On Mon, Apr 21, 2008 at 8:09 PM, Sebastian Siewior
<frame+buffer@ml.breakpoint.cc> wrote:
> Right now, if request_irq or anthing after it fails than we free the
>  firmware for the second time what migh end bad :)

Agreed.

Acked-by: Jaya Kumar <jayakumar.lkml@gmail.com>

-------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] [FB] metronomefb: don't free firmware twice in error path.
@ 2008-04-24  7:56 Sebastian Siewior
  0 siblings, 0 replies; 3+ messages in thread
From: Sebastian Siewior @ 2008-04-24  7:56 UTC (permalink / raw)
  To: linux-fbdev-devel; +Cc: Andrew Morton, Jaya Kumar, Antonino Daplas

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 <sebastian@breakpoint.cc>
Acked-by: Jaya Kumar <jayakumar.lkml@gmail.com>
---
 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

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-04-24  7:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-21 12:09 [PATCH] [FB] metronomefb: don't free firmware twice in error path Sebastian Siewior
2008-04-24  1:57 ` Jaya Kumar
  -- strict thread matches above, loose matches on Subject: below --
2008-04-24  7:56 Sebastian Siewior

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).