On Tue, 18 Jul 2017 11:29:31 +0200, Sebastian Reichel wrote: > > Hi, > > On Mon, Jul 17, 2017 at 10:48:33PM -0700, Tony Lindgren wrote: > > * Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxxxx> [170717 07:14]: > > > Hi, > > > > > > On Mon, Jul 17, 2017 at 03:17:10AM -0700, Tony Lindgren wrote: > > > > * Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxxxx> [170717 03:13]: > > > > > On Mon, Jul 17, 2017 at 02:29:04AM -0700, Tony Lindgren wrote: > > > > > > * Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxxxx> [170712 08:19]: > > > > > > > * Switch from simple-audio-card to audio-graph-card > > > > > > > > > > > > Gave this a quick try against v4.13-rc1 with SND_AUDIO_GRAPH_CARD > > > > > > enabled as a loadable module. However loading it oopses for me, > > > > > > see below. Maybe some dependencies are missing? > > > > > > > > > > It works for me on top of v4.13-rc1 (my kernel is monolithic). > > > > > Looking at the stacktrace it seems to be a bug in audio graph > > > > > card and not in the codec driver. > > > > > > > > OK I do also have: > > > > > > > > CONFIG_DEBUG_LOCKDEP=y > > > > CONFIG_DEBUG_ATOMIC_SLEEP=y > > > > > > I added those and I do not get a stacktrace for anything sound > > > related and audio works. I noticed one issue in dapm routing, > > > that I accidently added. That will be fixed in PATCHv3, but its > > > in untestable path anyways (EXT capture, probably FM radio is > > > connected to EXT). > > > > Hmm maybe that was not with DEBUG_ATOMIC_SLEEP then? > > $ grep DEBUG_ATOMIC_SLEEP .config > CONFIG_DEBUG_ATOMIC_SLEEP=y > > > I also verified it does not happen unless your dts patch "ARM: > > dts: omap4-droid4: add soundcard" is applied. > > That's what I expected, since the stacktrace started in the > soundcard driver. > > > I doubt that having it as loadable module makes any difference > > here as it's the might_sleep() in __mutex_lock_common() producing > > the BUG. > > It might make a difference, since it changes the probe order. The > mutex may not even be called on my system. The problem manifests itself as an unblanaced of node reference. The node is released mistakenly at of_node_put() and this is caught as sleep-in-atomic, fortunately. So likely either something forgot to take the node ref or it hits the unreference due to the missing object by the implicit probe disorder, etc, I suppose. Takashi -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html