aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/onenand/onenand_base.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mtd/onenand/onenand_base.c')
-rw-r--r--drivers/mtd/onenand/onenand_base.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c
index 635ee0027691..43b3392ffee7 100644
--- a/drivers/mtd/onenand/onenand_base.c
+++ b/drivers/mtd/onenand/onenand_base.c
@@ -1743,7 +1743,6 @@ static int onenand_panic_write(struct mtd_info *mtd, loff_t to, size_t len,
1743 struct onenand_chip *this = mtd->priv; 1743 struct onenand_chip *this = mtd->priv;
1744 int column, subpage; 1744 int column, subpage;
1745 int written = 0; 1745 int written = 0;
1746 int ret = 0;
1747 1746
1748 if (this->state == FL_PM_SUSPENDED) 1747 if (this->state == FL_PM_SUSPENDED)
1749 return -EBUSY; 1748 return -EBUSY;
@@ -1786,15 +1785,10 @@ static int onenand_panic_write(struct mtd_info *mtd, loff_t to, size_t len,
1786 onenand_panic_wait(mtd); 1785 onenand_panic_wait(mtd);
1787 1786
1788 /* In partial page write we don't update bufferram */ 1787 /* In partial page write we don't update bufferram */
1789 onenand_update_bufferram(mtd, to, !ret && !subpage); 1788 onenand_update_bufferram(mtd, to, !subpage);
1790 if (ONENAND_IS_2PLANE(this)) { 1789 if (ONENAND_IS_2PLANE(this)) {
1791 ONENAND_SET_BUFFERRAM1(this); 1790 ONENAND_SET_BUFFERRAM1(this);
1792 onenand_update_bufferram(mtd, to + this->writesize, !ret && !subpage); 1791 onenand_update_bufferram(mtd, to + this->writesize, !subpage);
1793 }
1794
1795 if (ret) {
1796 printk(KERN_ERR "%s: write failed %d\n", __func__, ret);
1797 break;
1798 } 1792 }
1799 1793
1800 written += thislen; 1794 written += thislen;
@@ -1808,7 +1802,7 @@ static int onenand_panic_write(struct mtd_info *mtd, loff_t to, size_t len,
1808 } 1802 }
1809 1803
1810 *retlen = written; 1804 *retlen = written;
1811 return ret; 1805 return 0;
1812} 1806}
1813 1807
1814/** 1808/**