diff options
-rw-r--r-- | drivers/mtd/nand/txx9ndfmc.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/mtd/nand/txx9ndfmc.c b/drivers/mtd/nand/txx9ndfmc.c index 5f919e63b29b..488088eff2ca 100644 --- a/drivers/mtd/nand/txx9ndfmc.c +++ b/drivers/mtd/nand/txx9ndfmc.c | |||
@@ -336,20 +336,21 @@ static int __init txx9ndfmc_probe(struct platform_device *dev) | |||
336 | txx9_priv->cs = i; | 336 | txx9_priv->cs = i; |
337 | txx9_priv->mtdname = kasprintf(GFP_KERNEL, "%s.%u", | 337 | txx9_priv->mtdname = kasprintf(GFP_KERNEL, "%s.%u", |
338 | dev_name(&dev->dev), i); | 338 | dev_name(&dev->dev), i); |
339 | if (!txx9_priv->mtdname) { | ||
340 | kfree(txx9_priv); | ||
341 | dev_err(&dev->dev, | ||
342 | "Unable to allocate TXx9 NDFMC MTD device name.\n"); | ||
343 | continue; | ||
344 | } | ||
345 | } else { | 339 | } else { |
346 | txx9_priv->cs = -1; | 340 | txx9_priv->cs = -1; |
347 | txx9_priv->mtdname = dev_name(&dev->dev); | 341 | txx9_priv->mtdname = kstrdup(dev_name(&dev->dev), |
342 | GFP_KERNEL); | ||
343 | } | ||
344 | if (!txx9_priv->mtdname) { | ||
345 | kfree(txx9_priv); | ||
346 | dev_err(&dev->dev, "Unable to allocate MTD name.\n"); | ||
347 | continue; | ||
348 | } | 348 | } |
349 | if (plat->wide_mask & (1 << i)) | 349 | if (plat->wide_mask & (1 << i)) |
350 | chip->options |= NAND_BUSWIDTH_16; | 350 | chip->options |= NAND_BUSWIDTH_16; |
351 | 351 | ||
352 | if (nand_scan(mtd, 1)) { | 352 | if (nand_scan(mtd, 1)) { |
353 | kfree(txx9_priv->mtdname); | ||
353 | kfree(txx9_priv); | 354 | kfree(txx9_priv); |
354 | continue; | 355 | continue; |
355 | } | 356 | } |
@@ -391,8 +392,7 @@ static int __exit txx9ndfmc_remove(struct platform_device *dev) | |||
391 | kfree(drvdata->parts[i]); | 392 | kfree(drvdata->parts[i]); |
392 | #endif | 393 | #endif |
393 | del_mtd_device(mtd); | 394 | del_mtd_device(mtd); |
394 | if (txx9_priv->mtdname != dev_name(&dev->dev)) | 395 | kfree(txx9_priv->mtdname); |
395 | kfree(txx9_priv->mtdname); | ||
396 | kfree(txx9_priv); | 396 | kfree(txx9_priv); |
397 | } | 397 | } |
398 | return 0; | 398 | return 0; |