Patchwork mtd: remove driver-core BUS_ID_SIZE

login
register
mail settings
Submitter Atsushi Nemoto
Date June 2, 2009, 3:09 p.m.
Message ID <20090603.000939.193875916.anemo@mba.ocn.ne.jp>
Download mbox | patch
Permalink /patch/28011/
State New, archived
Headers show

Comments

Atsushi Nemoto - June 2, 2009, 3:09 p.m.
On Fri, 29 May 2009 14:33:41 +0100, David Woodhouse <dwmw2@infradead.org> wrote:
> > > This might work better. Nemoto-san, can you test and confirm?
...
> > kasprintf() might be nicer here?
> 
> True; thanks. (Er, how have I managed not to know that asprintf()
> exists, for the last 20-odd years?)
> 
> diff --git a/drivers/mtd/nand/txx9ndfmc.c b/drivers/mtd/nand/txx9ndfmc.c
> index 8124792..5f919e6 100644

Your latest patch with slight fix works fine.

Here is diff against your patch.  Please fold into it.  Thanks.


---
Atsushi Nemoto

Patch

diff --git a/drivers/mtd/nand/txx9ndfmc.c b/drivers/mtd/nand/txx9ndfmc.c
index 5f919e6..fa0458e 100644
--- a/drivers/mtd/nand/txx9ndfmc.c
+++ b/drivers/mtd/nand/txx9ndfmc.c
@@ -344,12 +344,13 @@  static int __init txx9ndfmc_probe(struct platform_device *dev)
 			}
 		} else {
 			txx9_priv->cs = -1;
-			txx9_priv->mtdname = dev_name(&dev->dev);
+			txx9_priv->mtdname = kstrdup(dev_name(&dev->dev));
 		}
 		if (plat->wide_mask & (1 << i))
 			chip->options |= NAND_BUSWIDTH_16;
 
 		if (nand_scan(mtd, 1)) {
+			kfree(txx9_priv->mtdname)
 			kfree(txx9_priv);
 			continue;
 		}
@@ -391,8 +392,7 @@  static int __exit txx9ndfmc_remove(struct platform_device *dev)
 		kfree(drvdata->parts[i]);
 #endif
 		del_mtd_device(mtd);
-		if (txx9_priv->mtdname != dev_name(&dev->dev))
-			kfree(txx9_priv->mtdname);
+		kfree(txx9_priv->mtdname);
 		kfree(txx9_priv);
 	}
 	return 0;