Daniel, I am not quite sure I understand what you want me to test? Do you want me to try it without:
> > + if (ret == 0) { > > + ret = do_unregister_con_driver(&vga_con); Thanks Ed On Monday 07 July 2014 10:48:26 Daniel Vetter wrote: > On Mon, Jun 30, 2014 at 07:59:55AM +0100, Chris Wilson wrote: > > On Sat, Jun 28, 2014 at 11:55:19PM -0400, Ed Tomlinson wrote: > > > On Saturday 28 June 2014 15:28:22 Ed Tomlinson wrote: > > > > > > Resend without html krud which causes list to bounce the message. > > > > > > > Hi > > > > > > > > This commit ( a4de05268e674e8ed31df6348269e22d6c6a1803 ) hangs my boot > > > > with 3.16-git. Reverting it lets the boot proceed. > > > > > > > > I have an i7 with a built-in i915 and an pcie r7 260x. The R7 is the > > > > primary console. The i915 is initialized > > > > but does not have a physical display attached. > > > > > > > > With the patch applied the boot stops at the messages: > > > > > > > > [drm] Memory usable by graphics device = 2048M > > > > [drm] Replacing VGA console driver > > > > The issue looks like that we are ripping out the radeon fb_con whilst it > > is active and that upsets everyone. In which case, I think the > > compromise is: > > > > > > diff --git a/drivers/gpu/drm/i915/i915_dma.c > > b/drivers/gpu/drm/i915/i915_dma.c > > index 5f44581..4915f1d 100644 > > --- a/drivers/gpu/drm/i915/i915_dma.c > > +++ b/drivers/gpu/drm/i915/i915_dma.c > > @@ -1439,18 +1439,20 @@ static int i915_kick_out_vgacon(struct > > drm_i915_private *dev_priv) > > #else > > static int i915_kick_out_vgacon(struct drm_i915_private *dev_priv) > > { > > - int ret; > > + int ret = 0; > > > > DRM_INFO("Replacing VGA console driver\n"); > > > > console_lock(); > > - ret = do_take_over_console(&dummy_con, 0, MAX_NR_CONSOLES - 1, 1); > > - if (ret == 0) { > > - ret = do_unregister_con_driver(&vga_con); > > - > > - /* Ignore "already unregistered". */ > > - if (ret == -ENODEV) > > - ret = 0; > > + if (con_is_bound(&vga_con)) { > > + ret = do_take_over_console(&dummy_con, 0, MAX_NR_CONSOLES - > > 1, 1); > > + if (ret == 0) { > > + ret = do_unregister_con_driver(&vga_con); > > Hm, we should only conditionalize the take_over_console - unregistering > vga_con is kinda the point to make sure it's gone for real. Ed, can you > please retest with the if (con_is_bound) check just for the > do_take_over_console call? > > Still puzzled wtf is going on here since as David says this should be a > no-op. > > Thanks, Daniel > > + > > + /* Ignore "already unregistered". */ > > + if (ret == -ENODEV) > > + ret = 0; > > + } > > } > > console_unlock(); > > > > -Chris > > > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/