From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58877) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bUdAn-0001UK-5J for qemu-devel@nongnu.org; Tue, 02 Aug 2016 13:08:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bUdAi-0004Y1-1g for qemu-devel@nongnu.org; Tue, 02 Aug 2016 13:08:07 -0400 Date: Tue, 2 Aug 2016 13:08:02 -0400 (EDT) From: Paolo Bonzini Message-ID: <525527423.13103909.1470157682833.JavaMail.zimbra@redhat.com> In-Reply-To: <002a1ee1-7a72-67e9-8723-b8446857b0ae@redhat.com> References: <1469570853-19770-1-git-send-email-jsnow@redhat.com> <1469570853-19770-2-git-send-email-jsnow@redhat.com> <7d6771b0-189f-dab9-d5a8-e336a46a4ea5@redhat.com> <002a1ee1-7a72-67e9-8723-b8446857b0ae@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH for-2.7 1/1] ide: fix halted IO segfault at reset List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: John Snow Cc: qemu-block@nongnu.org, qemu-devel@nongnu.org, lersek@redhat.com, armbru@redhat.com, mreitz@redhat.com > >> diff --git a/hw/ide/core.c b/hw/ide/core.c > >> index 081c9eb..d117b7c 100644 > >> --- a/hw/ide/core.c > >> +++ b/hw/ide/core.c > >> @@ -823,6 +823,7 @@ static void ide_dma_cb(void *opaque, int ret) > >> } > >> if (ret < 0) { > >> if (ide_handle_rw_error(s, -ret, > >> ide_dma_cmd_to_retry(s->dma_cmd))) { > >> + s->bus->dma->aiocb = NULL; > >> return; > >> } > >> } > >> > > > > The patch is (was, since it's committed :)) okay, but I think there is > > another bug in the REPORT case, where ide_rw_error and > > ide_atapi_io_error are not calling ide_set_inactive and thus are leaving > > s->bus->dma->aiocb non-NULL. > > I can probably just shift the aiocb nulling up a bit, but leave it in > ide_dma_cb. ATAPI is ide_atapi_cmd_read_dma_cb, you can do the same fix there that you did in this patch. Paolo