From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:57787) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UXqrh-0000IX-76 for qemu-devel@nongnu.org; Thu, 02 May 2013 06:35:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UXqre-00079A-41 for qemu-devel@nongnu.org; Thu, 02 May 2013 06:35:53 -0400 Received: from mx1.redhat.com ([209.132.183.28]:47350) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UXqrd-000792-Od for qemu-devel@nongnu.org; Thu, 02 May 2013 06:35:49 -0400 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r42AZmUr027635 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 2 May 2013 06:35:48 -0400 Date: Thu, 2 May 2013 13:35:40 +0300 From: "Michael S. Tsirkin" Message-ID: <20130502103540.GA23474@redhat.com> References: <1367487519-17332-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1367487519-17332-1-git-send-email-pbonzini@redhat.com> Subject: Re: [Qemu-devel] [PATCH 1.5 0/3] qdev: switch reset to post-order List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org On Thu, May 02, 2013 at 11:38:36AM +0200, Paolo Bonzini wrote: > I was going to keep these for 1.6, but since they have been tested > by the user and myself, and they fix a regression, it can be worthwhile > to include these in 1.5. I remember there were some tricky issues last time we tried something like this for PCI. Seems too risky to me. Let's find an LSI specific solution for 1.5 please. > qdev reset (qdev_reset_all/qbus_reset_all) is currently done in > pre-order. This is not right, because it means the parent devices > cannot expect anything about the children devices' state during the > reset callback. > > With the traversal done *before* invoking the bus-reset callback, > there is no way for the bus-reset callback to take care of the device > tree traversal. This is currently done only for PCI, which requires > some adjustments. > > This fixes a crash in resetting the LSI SCSI adapter, as reported and > tested by Claudio Bley. > > Paolo Bonzini (3): > pci: do not export pci_bus_reset > qdev: allow both pre- and post-order vists in qdev walking functions > qdev: switch reset to post-order > > hw/core/qdev.c | 47 ++++++++++++++++++++++++++++++++++------------- > hw/pci/pci.c | 37 +++++++++++++++++-------------------- > hw/pci/pci_bridge.c | 2 +- > include/hw/pci/pci.h | 1 - > include/hw/qdev-core.h | 15 ++++++++++----- > 5 files changed, 62 insertions(+), 40 deletions(-) > > -- > 1.8.2 >