From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:54678) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SUcKX-0000qa-4e for qemu-devel@nongnu.org; Wed, 16 May 2012 07:23:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SUcKU-0003SR-9k for qemu-devel@nongnu.org; Wed, 16 May 2012 07:23:44 -0400 Received: from mail-pb0-f45.google.com ([209.85.160.45]:35704) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SUcKU-0003SF-0i for qemu-devel@nongnu.org; Wed, 16 May 2012 07:23:42 -0400 Received: by pbbro12 with SMTP id ro12so1258298pbb.4 for ; Wed, 16 May 2012 04:23:39 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <4FB38E2E.5000508@redhat.com> Date: Wed, 16 May 2012 13:23:26 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1337095599-28836-1-git-send-email-anthony.perard@citrix.com> <1337095599-28836-2-git-send-email-anthony.perard@citrix.com> <20120515205222.GA12039@redhat.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 1/4] Introduce a new hotplug state: Force eject. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony PERARD Cc: Xen Devel , "Michael S. Tsirkin" , QEMU-devel , Anthony Liguori , Stefano Stabellini Il 16/05/2012 13:15, Anthony PERARD ha scritto: >> > qdev_unplug(&(d->qdev), NULL); >> > + qdev_free(&(d->qdev)); >> > } >> > } >> > >> > >> > Anthony, can you confirm that this solves the problem for you? > This work until I try to hotplug a new device to the guest at wish > point I have this: > ERROR:/local/home/anthony/work/qemu/qom/object.c:389:object_delete: > assertion failed: (obj->ref == 0) > > This is because there is still a pending request of the hotunplug in > the acpi piix4. > If I call qdev_free without qdev_unplug, I hit the same assert, but > rigth away. This is way something new. Because it's missing the object_unparent done by qdev_unplug. Does object_unparent+qdev_free work? (I believe object_unparent should be done by qdev_free rather than qdev_unplug, but that's something for 1.2). Paolo