Message ID | 20080916081013.GD29650@edgar.se.axis.com |
---|---|
State | New, archived |
Headers | show |
diff --git a/drivers/mtd/mtdoops.c b/drivers/mtd/mtdoops.c index 5a680e1..de6d151 100644 --- a/drivers/mtd/mtdoops.c +++ b/drivers/mtd/mtdoops.c @@ -208,7 +208,12 @@ static void mtdoops_write(struct mtdoops_context *cxt, int panic) printk(KERN_ERR "mtdoops: Write failure at %d (%td of %d written), err %d.\n", cxt->nextpage * OOPS_PAGE_SIZE, retlen, OOPS_PAGE_SIZE, ret); - mtdoops_inc_counter(cxt); + /* + * Prepare for next log-entry. If we are in panic we'll defer this + * step to after reboot because mtdoops_inc_counter might sleep. + */ + if (!panic) + mtdoops_inc_counter(cxt); }
Hello, While trying out the mtdoops module I ran into trouble when logging at panic. Turns out that the mtdoops_inc_counter can sleep while preparing for the next entry. This small patch works fine for me. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@axis.com>