Kernel Oops when trying to suspend with ubifs mounted on block2mtd mtd device on 2.3.31-rc2
ranma+kernel at tdiedrich.de
Wed Jul 15 15:15:59 EDT 2009
David Brownell wrote:
> On Wednesday 15 July 2009, Adrian Hunter wrote:
> > Looks like it might be related to MTD driver model updates.
> Not the sysfs support ... more likely the patch adding cls_suspend()
> support, 15bce40cb3133bcc07d548013df97e4653d363c1, is goofed. Maybe
> it's invoking suspend on the wrong device node...
Yes, that is the culprit.
AFAICS it uses the 'dev_to_mtd()' macro to get the mtd, but calls it
on itself instead of the child classes, so the resulting mtd device
pointer is bogus.
With some debug printks I get:
PM: Freed 0 kbytes in 0.06 seconds[...]
dev->class->name = 'mtd'
callig mtd->suspend() [f68e3148]
BUG: unable to handle kernel paging request[...]
Tobias PGP: http://9ac7e0bc.uguu.de
More information about the linux-mtd