From mboxrd@z Thu Jan 1 00:00:00 1970 From: Guenter Roeck Subject: Re: arm qemu boot failures in -next due to 'PM / Domains: add setter for dev.pm_domain' Date: Mon, 11 Jan 2016 15:39:39 -0800 Message-ID: <56943D3B.8010600@roeck-us.net> References: <5693EB8A.40802@roeck-us.net> <20160111185459.GZ12777@atomide.com> <20160111200450.GA16902@roeck-us.net> <7302125.veLBHLkdLG@vostro.rjw.lan> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <7302125.veLBHLkdLG@vostro.rjw.lan> Sender: linux-kernel-owner@vger.kernel.org To: "Rafael J. Wysocki" Cc: Tony Lindgren , Tomeu Vizoso , Russell King , Kevin Hilman , linux-arm-kernel@lists.infradead.org, "linux-omap@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-pm@vger.kernel.org" List-Id: linux-omap@vger.kernel.org On 01/11/2016 02:49 PM, Rafael J. Wysocki wrote: > On Monday, January 11, 2016 12:04:50 PM Guenter Roeck wrote: >> On Mon, Jan 11, 2016 at 10:55:00AM -0800, Tony Lindgren wrote: >>> * Guenter Roeck [160111 09:51]: >>>> Hi, >>>> >>>> I see 6 out of 24 arm qemu tests failing in next-20160111. Bisect points >>>> to commit 989561de9b51 ("PM / Domains: add setter for dev.pm_domain"). >>>> Failures are silent - there is no output on the console. >>>> Affected tests are >>>> >>>> arm:beagle:multi_v7_defconfig:omap3-beagle >>>> arm:beaglexm:multi_v7_defconfig:omap3-beagle-xm >>>> arm:overo:multi_v7_defconfig:omap3-overo-tobi >>>> arm:beagle:omap2plus_defconfig:omap3-beagle >>>> arm:beaglexm:omap2plus_defconfig:omap3-beagle-xm >>>> arm:overo:omap2plus_defconfig:omap3-overo-tobi >>>> >>>> For details please see the 'next' column at http://server.roeck-us.net:8010/builders. >>>> >>>> Reverting the offending commit fixes the problems. >>>> >>>> Please let me know if there is anything I can do to help tracking down the problem. >>> >>> The following fixes the booting, but I wonder if it's a >> >> Yes, it does. >> >> Tested-by: Guenter Roeck >> >>> proper fix? >>> >> That I don't know. > > If I'm not mistaken, what happens is that device_is_bound() tries to > dereference dev->p which is NULL. If that's the case, the appended one > should help too. > > Can you please check? > > --- > drivers/base/dd.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > Index: linux-pm/drivers/base/dd.c > =================================================================== > --- linux-pm.orig/drivers/base/dd.c > +++ linux-pm/drivers/base/dd.c > @@ -234,7 +234,7 @@ late_initcall(deferred_probe_initcall); > */ > bool device_is_bound(struct device *dev) > { > - return klist_node_attached(&dev->p->knode_driver); > + return dev->p && klist_node_attached(&dev->p->knode_driver); Yes, that fixes the problem as well. Guenter