Guzman Lugo, Fernando wrote:
+ patemp = pa; + while (temp++ < num4KEntries) { + /* FIXME: This is a hack to avoid getting pages for + * video overlay */ + if (pfn_valid(__phys_to_pfn(patemp))) { + pg = phys_to_page(patemp); + get_page(pg); + if (page_count(pg) <= 1) { + printk(KERN_EMERG "DSPBRIDGE:MAP " + "function: COUNT 0 FOR PA " + "0x%x\n", patemp); + printk(KERN_EMERG "Bad page state" + "in process '%s'\n" + "page:%p flags:0x%0*lx " + "mapping:%p mapcount:%d " + "count:%d\n" + "Trying to fix it up, but " + "a reboot is needed\n" + "Backtrace:\n", + current->comm, pg, + (int)(2*sizeof(unsigned long)), + (unsigned long)pg->flags, + pg->mapping, page_mapcount(pg), + page_count(pg)); + dump_stack(); + BUG_ON(1); + } + }
Sorry for repeating myself, I just thought I have a good suggestion. You could try the Obfuscated C code contest and win some money with this code: http://www.ioccc.org :-) -- Best Regards, Artem Bityutskiy (Артём Битюцкий) -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html