On Sat, 16 Feb 2013, Hugh Dickins wrote:
On Sat, 16 Feb 2013, Linus Torvalds wrote:
I think it's worth it to give them a heads-up already. So I've cc'd the main suspects here..
Okay, thanks.
Daniel, Dave - any comments about a NULL fb in intel_choose_pipe_bpp_dither() during either suspend or resume? Some googling shows this:
https://bugzilla.redhat.com/show_bug.cgi?id=895123
Great, yes, I'm sure that's the same (though it says "suspend" and I say "resume").
which sounds remarkably similar, and is also during a suspend attempt (but apparently Satish got a full oops out).. Some timing race with a worker entry?
Comparing Satish's backtrace and drivers/gpu/drm history, it's clear that the oops comes from Daniel's 3.8-rc2 45e2b5f640b3 "drm/i915: force restore on lid open", whose force_restore case now passes down crtc->base.fb. But I wouldn't have a clue why that's usually non-NULL but occasionally NULL: your timing race with a worker entry, perhaps.
And 45e2b5f640b3 contains a fine history of going back and forth, so I wouldn't want to play further with it out of ignorance - though tempted to replace the "if (force_restore) {" by an interim safe-seeming compromise of "if (force_restore && crtc->base.fb) {".
Hugh