[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v1 1/1] etraxfs_dma: Dont forward zero-length pa
From: |
Edgar E. Iglesias |
Subject: |
Re: [Qemu-devel] [PATCH v1 1/1] etraxfs_dma: Dont forward zero-length payload to clients |
Date: |
Sat, 20 Feb 2016 00:53:17 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Tue, Feb 16, 2016 at 12:53:32PM +0100, Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <address@hidden>
Applied
>
> 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
>