Loading drivers/mtd/nand/docg4.c +12 −11 Original line number Diff line number Diff line Loading @@ -1305,14 +1305,14 @@ static int __init probe_docg4(struct platform_device *pdev) return -EIO; } len = sizeof(struct mtd_info) + sizeof(struct nand_chip) + sizeof(struct docg4_priv); mtd = kzalloc(len, GFP_KERNEL); if (mtd == NULL) { len = sizeof(struct nand_chip) + sizeof(struct docg4_priv); nand = kzalloc(len, GFP_KERNEL); if (nand == NULL) { retval = -ENOMEM; goto fail; goto fail_unmap; } nand = (struct nand_chip *) (mtd + 1); mtd = nand_to_mtd(nand); doc = (struct docg4_priv *) (nand + 1); mtd->priv = nand; nand->priv = doc; Loading Loading @@ -1354,16 +1354,17 @@ static int __init probe_docg4(struct platform_device *pdev) return 0; fail: iounmap(virtadr); if (mtd) { if (nand) { /* re-declarations avoid compiler warning */ struct nand_chip *nand = mtd_to_nand(mtd); struct docg4_priv *doc = nand->priv; nand_release(mtd); /* deletes partitions and mtd devices */ free_bch(doc->bch); kfree(mtd); kfree(nand); } fail_unmap: iounmap(virtadr); return retval; } Loading @@ -1372,7 +1373,7 @@ static int __exit cleanup_docg4(struct platform_device *pdev) struct docg4_priv *doc = platform_get_drvdata(pdev); nand_release(doc->mtd); free_bch(doc->bch); kfree(doc->mtd); kfree(mtd_to_nand(doc->mtd)); iounmap(doc->virtadr); return 0; } Loading Loading
drivers/mtd/nand/docg4.c +12 −11 Original line number Diff line number Diff line Loading @@ -1305,14 +1305,14 @@ static int __init probe_docg4(struct platform_device *pdev) return -EIO; } len = sizeof(struct mtd_info) + sizeof(struct nand_chip) + sizeof(struct docg4_priv); mtd = kzalloc(len, GFP_KERNEL); if (mtd == NULL) { len = sizeof(struct nand_chip) + sizeof(struct docg4_priv); nand = kzalloc(len, GFP_KERNEL); if (nand == NULL) { retval = -ENOMEM; goto fail; goto fail_unmap; } nand = (struct nand_chip *) (mtd + 1); mtd = nand_to_mtd(nand); doc = (struct docg4_priv *) (nand + 1); mtd->priv = nand; nand->priv = doc; Loading Loading @@ -1354,16 +1354,17 @@ static int __init probe_docg4(struct platform_device *pdev) return 0; fail: iounmap(virtadr); if (mtd) { if (nand) { /* re-declarations avoid compiler warning */ struct nand_chip *nand = mtd_to_nand(mtd); struct docg4_priv *doc = nand->priv; nand_release(mtd); /* deletes partitions and mtd devices */ free_bch(doc->bch); kfree(mtd); kfree(nand); } fail_unmap: iounmap(virtadr); return retval; } Loading @@ -1372,7 +1373,7 @@ static int __exit cleanup_docg4(struct platform_device *pdev) struct docg4_priv *doc = platform_get_drvdata(pdev); nand_release(doc->mtd); free_bch(doc->bch); kfree(doc->mtd); kfree(mtd_to_nand(doc->mtd)); iounmap(doc->virtadr); return 0; } Loading