qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v1 1/1] etraxfs_dma: Dont forward zero-length payloa


From: Edgar E. Iglesias
Subject: [Qemu-devel] [PATCH v1 1/1] etraxfs_dma: Dont forward zero-length payload to clients
Date: Tue, 16 Feb 2016 12:53:32 +0100

From: "Edgar E. Iglesias" <address@hidden>

Signed-off-by: Edgar E. Iglesias <address@hidden>
---
 hw/dma/etraxfs_dma.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/hw/dma/etraxfs_dma.c b/hw/dma/etraxfs_dma.c
index 9cbb165..d5650eb 100644
--- a/hw/dma/etraxfs_dma.c
+++ b/hw/dma/etraxfs_dma.c
@@ -440,13 +440,16 @@ static int channel_out_run(struct fs_dma_ctrl *ctrl, int 
c)
                D(printf("channel %d pushes %x %u bytes eop=%u\n", c,
                         saved_data_buf, len, out_eop));
 
-               if (ctrl->channels[c].client->client.push)
-                       ctrl->channels[c].client->client.push(
-                               ctrl->channels[c].client->client.opaque,
-                               buf, len, out_eop);
-               else
+               if (ctrl->channels[c].client->client.push) {
+                        if (len > 0) {
+                               ctrl->channels[c].client->client.push(
+                                       ctrl->channels[c].client->client.opaque,
+                                       buf, len, out_eop);
+                       }
+               } else {
                        printf("WARNING: DMA ch%d dataloss,"
                               " no attached client.\n", c);
+               }
 
                saved_data_buf += len;
 
-- 
1.9.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]