From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:55486) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TsJUY-0002xa-DJ for qemu-devel@nongnu.org; Mon, 07 Jan 2013 15:40:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TsJUX-0006SD-Bn for qemu-devel@nongnu.org; Mon, 07 Jan 2013 15:40:18 -0500 Received: from e8.ny.us.ibm.com ([32.97.182.138]:42425) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TsJUX-0006S3-8O for qemu-devel@nongnu.org; Mon, 07 Jan 2013 15:40:17 -0500 Received: from /spool/local by e8.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 7 Jan 2013 15:30:08 -0500 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by d01dlp01.pok.ibm.com (Postfix) with ESMTP id BA46338C8039 for ; Mon, 7 Jan 2013 15:29:24 -0500 (EST) Received: from d03av04.boulder.ibm.com (d03av04.boulder.ibm.com [9.17.195.170]) by d01relay04.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r07KTN3b317634 for ; Mon, 7 Jan 2013 15:29:24 -0500 Received: from d03av04.boulder.ibm.com (loopback [127.0.0.1]) by d03av04.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r07KTNWS016242 for ; Mon, 7 Jan 2013 13:29:23 -0700 From: Anthony Liguori In-Reply-To: <1354740282-20679-8-git-send-email-pbonzini@redhat.com> References: <1354740282-20679-1-git-send-email-pbonzini@redhat.com> <1354740282-20679-8-git-send-email-pbonzini@redhat.com> Date: Mon, 07 Jan 2013 14:29:18 -0600 Message-ID: <87ehhwg2jk.fsf@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [Qemu-devel] [PATCH 07/11] qdev: add reference for the bus while it is referred to by the DeviceState List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , qemu-devel@nongnu.org Cc: afaerber@suse.de Paolo Bonzini writes: > Now that the unparent callbacks are complete, we can correctly account > more missing references. > > Signed-off-by: Paolo Bonzini > --- > hw/qdev.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/hw/qdev.c b/hw/qdev.c > index d7f1545..62b6c14 100644 > --- a/hw/qdev.c > +++ b/hw/qdev.c > @@ -101,6 +101,7 @@ static void bus_add_child(BusState *bus, DeviceState *child) > void qdev_set_parent_bus(DeviceState *dev, BusState *bus) > { > dev->parent_bus = bus; > + object_ref(OBJECT(bus)); > bus_add_child(bus, dev); If we make parent_bus a link property, we'll get the reference counting for free. Regards, Anthony Liguori > } > > @@ -734,6 +735,8 @@ static void qdev_remove_from_bus(Object *obj) > } > if (dev->parent_bus) { > bus_remove_child(dev->parent_bus, dev); > + object_unref(OBJECT(dev->parent_bus)); > + dev->parent_bus = NULL; > } > } > > -- > 1.8.0.1