diff options
Diffstat (limited to 'drivers/mtd/mtdoops.c')
-rw-r--r-- | drivers/mtd/mtdoops.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/mtd/mtdoops.c b/drivers/mtd/mtdoops.c index aebb3b27edbd..1a6b3beabe8d 100644 --- a/drivers/mtd/mtdoops.c +++ b/drivers/mtd/mtdoops.c | |||
@@ -80,9 +80,9 @@ static int mtdoops_erase_block(struct mtd_info *mtd, int offset) | |||
80 | if (ret) { | 80 | if (ret) { |
81 | set_current_state(TASK_RUNNING); | 81 | set_current_state(TASK_RUNNING); |
82 | remove_wait_queue(&wait_q, &wait); | 82 | remove_wait_queue(&wait_q, &wait); |
83 | printk (KERN_WARNING "mtdoops: erase of region [0x%x, 0x%x] " | 83 | printk (KERN_WARNING "mtdoops: erase of region [0x%llx, 0x%llx] " |
84 | "on \"%s\" failed\n", | 84 | "on \"%s\" failed\n", |
85 | erase.addr, erase.len, mtd->name); | 85 | (unsigned long long)erase.addr, (unsigned long long)erase.len, mtd->name); |
86 | return ret; | 86 | return ret; |
87 | } | 87 | } |
88 | 88 | ||
@@ -289,7 +289,10 @@ static void mtdoops_notify_add(struct mtd_info *mtd) | |||
289 | } | 289 | } |
290 | 290 | ||
291 | cxt->mtd = mtd; | 291 | cxt->mtd = mtd; |
292 | cxt->oops_pages = mtd->size / OOPS_PAGE_SIZE; | 292 | if (mtd->size > INT_MAX) |
293 | cxt->oops_pages = INT_MAX / OOPS_PAGE_SIZE; | ||
294 | else | ||
295 | cxt->oops_pages = (int)mtd->size / OOPS_PAGE_SIZE; | ||
293 | 296 | ||
294 | find_next_position(cxt); | 297 | find_next_position(cxt); |
295 | 298 | ||