[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] xen: Fix xen-legacy-backend qdev types
From: |
Anthony PERARD |
Subject: |
Re: [PATCH] xen: Fix xen-legacy-backend qdev types |
Date: |
Tue, 30 Jun 2020 14:59:21 +0100 |
On Wed, Jun 24, 2020 at 08:52:44AM -0400, Jason Andryuk wrote:
> On Wed, Jun 24, 2020 at 8:30 AM Paul Durrant <xadimgnik@gmail.com> wrote:
> >
> > > -----Original Message-----
> > > From: Jason Andryuk <jandryuk@gmail.com>
> > > Sent: 24 June 2020 13:20
> > > To: Stefano Stabellini <sstabellini@kernel.org>; Anthony Perard
> > > <anthony.perard@citrix.com>; Paul
> > > Durrant <paul@xen.org>; xen-devel@lists.xenproject.org
> > > Cc: Jason Andryuk <jandryuk@gmail.com>; qemu-devel@nongnu.org
> > > Subject: [PATCH] xen: Fix xen-legacy-backend qdev types
> > >
> > > xen-sysdev is a TYPE_SYS_BUS_DEVICE. bus_type should not be changed so
> > > that it can plug into the System bus. Otherwise this assert triggers:
> > > qemu-system-i386: hw/core/qdev.c:102: qdev_set_parent_bus: Assertion
> > > `dc->bus_type && object_dynamic_cast(OBJECT(bus), dc->bus_type)'
> > > failed.
> > >
> > > TYPE_XENBACKEND attaches to TYPE_XENSYSBUS, so its class_init needs to
> > > be set accordingly to attach the qdev. Otherwise the following assert
> > > triggers:
> > > qemu-system-i386: hw/core/qdev.c:102: qdev_set_parent_bus: Assertion
> > > `dc->bus_type && object_dynamic_cast(OBJECT(bus), dc->bus_type)'
> > > failed.
> > >
> > > TYPE_XENBACKEND is not a subclass of XEN_XENSYSDEV, so it's parent
> > > is just TYPE_DEVICE. Change that.
> > >
> > > Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> >
> > Clearly we raced. This patch and my patch #1 are identical so I'm happy to
> > give my ack to this.
>
> Yeah, looks like you beat me by a hair :)
>
> Either way it gets fixed is fine by me.
Since there's a choice to make, I think I'll take this patch, but I will
add:
Fixes: 81cb05732efb ("qdev: Assert devices are plugged into a bus that can take
them")
Thanks,
--
Anthony PERARD