From: <mar...@us...> - 2007-08-30 02:41:22
|
Revision: 1290 http://hackndev.svn.sourceforge.net/hackndev/?rev=1290&view=rev Author: marex_z71 Date: 2007-08-29 19:41:10 -0700 (Wed, 29 Aug 2007) Log Message: ----------- PalmTX: correctly manager memory unmaping if something fails and do writes in more correct way Modified Paths: -------------- linux4palm/linux/trunk/drivers/mtd/nand/palmtx.c Modified: linux4palm/linux/trunk/drivers/mtd/nand/palmtx.c =================================================================== --- linux4palm/linux/trunk/drivers/mtd/nand/palmtx.c 2007-08-30 02:36:54 UTC (rev 1289) +++ linux4palm/linux/trunk/drivers/mtd/nand/palmtx.c 2007-08-30 02:41:10 UTC (rev 1290) @@ -70,10 +70,10 @@ if (cmd != NAND_CMD_NONE) { switch ((ctrl & 0x6) >> 1) { case 1: /* CLE */ - writeb(cmd, nand_cle); + iowrite8(cmd, nand_cle); break; case 2: /* ALE */ - writeb(cmd, nand_ale); + iowrite8(cmd, nand_ale); break; default: printk("PalmTX NAND: invalid control bit\n"); @@ -115,11 +115,16 @@ nand_ale = ioremap(PALMTX_PHYS_NAND_START | 1<<24, 0x1000); if (!nand_ale) { printk("Failed to ioremap NAND flash.\n"); + iounmap((void *)palmtx_nand_mtd); + iounmap((void *)nandaddr); return -ENOMEM; } nand_cle = ioremap(PALMTX_PHYS_NAND_START | 1<<25, 0x1000); if (!nand_cle) { printk("Failed to ioremap NAND flash.\n"); + iounmap((void *)palmtx_nand_mtd); + iounmap((void *)nandaddr); + iounmap((void *)nand_ale); return -ENOMEM; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |