Message ID | 1312954935-14592-1-git-send-email-julia@diku.dk |
---|---|
State | New, archived |
Headers | show |
Oops, please ignore this patch. I missed another similar problem in the same function. julia On Wed, 10 Aug 2011, Julia Lawall wrote: > From: Julia Lawall <julia@diku.dk> > > The error handling code under the #if should be the same as elsewhere in > the function. > > Signed-off-by: Julia Lawall <julia@diku.dk> > > --- > drivers/mtd/nand/bcm_umi_nand.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/mtd/nand/bcm_umi_nand.c b/drivers/mtd/nand/bcm_umi_nand.c > index a8ae898..72e8ec2 100644 > --- a/drivers/mtd/nand/bcm_umi_nand.c > +++ b/drivers/mtd/nand/bcm_umi_nand.c > @@ -433,8 +433,11 @@ static int __devinit bcm_umi_nand_probe(struct platform_device *pdev) > > #if USE_DMA > err = nand_dma_init(); > - if (err != 0) > + if (err != 0) { > + iounmap(bcm_umi_io_base); > + kfree(board_mtd); > return err; > + } > #endif > > /* Figure out the size of the device that we have. > > -- > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >
On 10/08/11 15:42, Julia Lawall wrote: > From: Julia Lawall<julia@diku.dk> > > The error handling code under the #if should be the same as elsewhere in > the function. > > Signed-off-by: Julia Lawall<julia@diku.dk> > > --- > drivers/mtd/nand/bcm_umi_nand.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/mtd/nand/bcm_umi_nand.c b/drivers/mtd/nand/bcm_umi_nand.c > index a8ae898..72e8ec2 100644 > --- a/drivers/mtd/nand/bcm_umi_nand.c > +++ b/drivers/mtd/nand/bcm_umi_nand.c > @@ -433,8 +433,11 @@ static int __devinit bcm_umi_nand_probe(struct platform_device *pdev) > > #if USE_DMA > err = nand_dma_init(); > - if (err != 0) > + if (err != 0) { > + iounmap(bcm_umi_io_base); > + kfree(board_mtd); > return err; > + } > #endif This probe function should possibly use goto exits on failure. It reduces a bit of code duplication and helps prevent this type of error. ~Ryan
On Wed, 10 Aug 2011, Ryan Mallon wrote: > On 10/08/11 15:42, Julia Lawall wrote: > > From: Julia Lawall<julia@diku.dk> > > > > The error handling code under the #if should be the same as elsewhere in > > the function. > > > > Signed-off-by: Julia Lawall<julia@diku.dk> > > > > --- > > drivers/mtd/nand/bcm_umi_nand.c | 5 ++++- > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/mtd/nand/bcm_umi_nand.c > > b/drivers/mtd/nand/bcm_umi_nand.c > > index a8ae898..72e8ec2 100644 > > --- a/drivers/mtd/nand/bcm_umi_nand.c > > +++ b/drivers/mtd/nand/bcm_umi_nand.c > > @@ -433,8 +433,11 @@ static int __devinit bcm_umi_nand_probe(struct > platform_device *pdev) > > > > #if USE_DMA > > err = nand_dma_init(); > > - if (err != 0) > > + if (err != 0) { > > + iounmap(bcm_umi_io_base); > > + kfree(board_mtd); > > return err; > > + } > > #endif > > This probe function should possibly use goto exits on failure. It reduces a > bit of code duplication and helps prevent this type of error. OK, I didn't want to make such a major change for only one new case. But since there are three new cases, I will do that. julia
diff --git a/drivers/mtd/nand/bcm_umi_nand.c b/drivers/mtd/nand/bcm_umi_nand.c index a8ae898..72e8ec2 100644 --- a/drivers/mtd/nand/bcm_umi_nand.c +++ b/drivers/mtd/nand/bcm_umi_nand.c @@ -433,8 +433,11 @@ static int __devinit bcm_umi_nand_probe(struct platform_device *pdev) #if USE_DMA err = nand_dma_init(); - if (err != 0) + if (err != 0) { + iounmap(bcm_umi_io_base); + kfree(board_mtd); return err; + } #endif /* Figure out the size of the device that we have.