summaryrefslogtreecommitdiffstats
path: root/drivers/mtd
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@nokia.com>2009-03-23 13:57:38 +0100
committerDavid Woodhouse <David.Woodhouse@intel.com>2009-03-23 14:13:55 +0100
commita29f280b739985a9e829d67af4d08e6584153495 (patch)
treecf8aa48c5250e8314961ed137a7a78c45a80274c /drivers/mtd
parent[MTD] mtdpart: Make all partition parsers return allocated array (diff)
downloadlinux-a29f280b739985a9e829d67af4d08e6584153495.tar.xz
linux-a29f280b739985a9e829d67af4d08e6584153495.zip
[MTD] [OneNAND] omap2: panic_write may be in an interrupt context
panic_write may read in an interrupt context. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/onenand/omap2.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mtd/onenand/omap2.c b/drivers/mtd/onenand/omap2.c
index 77a4f1446156..2c199b30ab58 100644
--- a/drivers/mtd/onenand/omap2.c
+++ b/drivers/mtd/onenand/omap2.c
@@ -294,6 +294,10 @@ static int omap3_onenand_read_bufferram(struct mtd_info *mtd, int area,
if (bram_offset & 3 || (size_t)buf & 3 || count < 384)
goto out_copy;
+ /* panic_write() may be in an interrupt context */
+ if (in_interrupt())
+ goto out_copy;
+
if (buf >= high_memory) {
struct page *p1;