From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38544) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XSf2p-0005iG-6Y for qemu-devel@nongnu.org; Sat, 13 Sep 2014 00:34:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XSf2f-0005lc-88 for qemu-devel@nongnu.org; Sat, 13 Sep 2014 00:34:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:16668) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XSf2e-0005lH-Qj for qemu-devel@nongnu.org; Sat, 13 Sep 2014 00:34:33 -0400 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s8D4YW0m023087 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Sat, 13 Sep 2014 00:34:32 -0400 From: John Snow Date: Sat, 13 Sep 2014 00:34:06 -0400 Message-Id: <1410582855-21870-2-git-send-email-jsnow@redhat.com> In-Reply-To: <1410582855-21870-1-git-send-email-jsnow@redhat.com> References: <1410582855-21870-1-git-send-email-jsnow@redhat.com> Subject: [Qemu-devel] [RFC 01/10] ide: add is_write() macro for semantic consistency List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: jsnow@redhat.com, stefanha@redhat.com, mst@redhat.com The prepare_buf callback takes an argument named /is_write/, however in core.c we are checking to see if this DMA command is /is_read/. I am adding a small macro to correct this oversight. Impact: Nothing, yet. -The prepare_buf callback is only used in ahci and pci, and both versions of this callback name the incoming argument is_write. -Both functions ignore this hint currently, anyway. This is therefore a simple patch to avoid future mistakes. Signed-off-by: John Snow --- hw/ide/core.c | 2 +- hw/ide/internal.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/ide/core.c b/hw/ide/core.c index 191f893..3d682e2 100644 --- a/hw/ide/core.c +++ b/hw/ide/core.c @@ -718,7 +718,7 @@ void ide_dma_cb(void *opaque, int ret) n = s->nsector; s->io_buffer_index = 0; s->io_buffer_size = n * 512; - if (s->bus->dma->ops->prepare_buf(s->bus->dma, ide_cmd_is_read(s)) == 0) { + if (s->bus->dma->ops->prepare_buf(s->bus->dma, ide_cmd_is_write(s)) == 0) { /* The PRDs were too short. Reset the Active bit, but don't raise an * interrupt. */ s->status = READY_STAT | SEEK_STAT; diff --git a/hw/ide/internal.h b/hw/ide/internal.h index 5c19f79..72d0147 100644 --- a/hw/ide/internal.h +++ b/hw/ide/internal.h @@ -338,6 +338,8 @@ enum ide_dma_cmd { #define ide_cmd_is_read(s) \ ((s)->dma_cmd == IDE_DMA_READ) +#define ide_cmd_is_write(s) \ + ((s)->dma_cmd == IDE_DMA_WRITE) /* NOTE: IDEState represents in fact one drive */ struct IDEState { -- 1.9.3